博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
starling1.2 游戏思路<1>
阅读量:6623 次
发布时间:2019-06-25

本文共 3976 字,大约阅读时间需要 13 分钟。

最近把hungry hero看了,

也看了一下和别人交流的游戏。

决定还是系统过一遍吧,把一般游戏基本思路写下来

 

开发工具   :

1.flash builder 4.7

2.Starling

 

开始

新建-actionScript手机项目  在xml加入

 

direct

 

开启GPU加速

 

第一步:游戏图标 

在生成的xml中找到icon项,如下

 

 

在该位置设置图标。并把自己制作好的图标放到 src目录下

例如:

Icon@2x.png

 这样子你在打包ipa的时候就会生成这个图标啦。当然面对不同分辨率下,自己制作不同的就可以了~ 图标设置就是这么简单~~

 

第二 :开启Starling

  

1 package 2 { 3     import flash.display.Sprite; 4      5     import starling.core.Starling; 6      7     [SWF(frameRate="60", width="960", height="640", backgroundColor="#333333")] 8     public class GasBoyTest extends Sprite 9     {10         private var myStarling:Starling;11         public function GasBoyTest()12         {13             super();14             15             //Starling.multitouchEnabled = true;16             myStarling = new Starling(Game, stage);17             //抗锯齿18             myStarling.antiAliasing = 1;19             //显示帧率20             myStarling.showStats = true;21             //开启22             myStarling.start();23             24         }25     }26 }

  

 第三步: 设计游戏框架

 

我们把游戏分为四块  :1.进入游戏界面  2.欢迎界面3. 关于界面4.游戏结束界面

对应的类如下:

 

private var InGameScreen:InGame;

private var WelcomeScreen:Welcome;
private var AboutScreen:About;
private var OverScreen:Over;

我们分别把这些类放screens文件夹下

 

并在Game类中声明 这些类

Game类

package{        import screens.About;    import screens.InGame;    import screens.Over;    import screens.Welcome;        import starling.display.Sprite;    import starling.events.Event;        public class Game extends Sprite    {        private var InGameScreen:InGame;        private var WelcomeScreen:Welcome;        private var AboutScreen:About;        private var OverScreen:Over;                public function Game()        {            super();            this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);        }                private function onAddedToStage(event:Event):void        {            this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);         }     }}

  

 前期工作准备好了。这是我们需要写一个 用于获取素材的类 Assets.as 这个类能获取单张图片以及sprite sheet,当然为了后期的安排,我们也把获取字体和粒子写到这个类中。

其实这个方法在starling-textures-下就有texturesatlas和texture方法,下面只是把这两个方法做到一起变成asset.as而已。个人觉得方便而已。其实也是间接用starling中的两个类。

这样子 assets.as这个获取素材类  就有四个方法 1. 获取单张图片 2.获取sprite sheet 3.获取字体 4.获取粒子

单张图片我们就直接Embed定义类通过名字获取,而sprite sheet我们就通过xml以及对应的sprite sheet坐标去获取图片动画。

 

//获取字体         public static function getFont():BitmapFont         {             var fontTexture:Texture = Texture.fromBitmap(new FontTexture());             var fontXML:XML = new XML(new FontXML);                          var font:BitmapFont = new BitmapFont(fontTexture, fontXML);             TextField.registerBitmapFont(font);                          return font;                      }          //获取单张图片         public static function getTexture(name:String):Texture         {             if (gameTexture[name] == undefined)             {                 var bmp:Bitmap = new Assets[name]();                 gameTexture[name] = Texture.fromBitmap(bmp);             }                          return gameTexture[name];         }          //获取sprite sheet         public static function getTextureAtlas():TextureAtlas         {             if (gameTextureAtlas == null)             {                 var texture:Texture = getTexture("spriteSheets");                                  var xml:XML = XML(new spriteSheetsXML());                                  gameTextureAtlas = new TextureAtlas(texture, xml);              }             return gameTextureAtlas;         } //获取粒子      public static function getParticleXML(name:String):XML        {            var xml:XML;                        xml = XML(new Assets[name]());                        return xml;        }

 

假设我们要获取制作好的sprite sheet中的图片

那么我们可以这样,例如获取按钮图片:

startBtn = new Button(Assets.getTextureAtlas().getTexture("start_btn"));

walkShoot = new MovieClip(Assets.getTextureAtlas().getTextures("walkShoot_"), 10);

 

图片获取差不多就是这样了~

 

 第四步: 游戏界面切换

 

 

 

转载于:https://www.cnblogs.com/bulolo/archive/2012/12/07/2808087.html

你可能感兴趣的文章
我的Java后端书架 (2016年暮春3.0版)
查看>>
两行代码搞定UITableView无数据无网络显示-b
查看>>
Microsoft Speech SDK开发包 使用
查看>>
Android应用开发基础篇(2)-----Notification(状态栏通知)
查看>>
10 款非常棒的CSS代码格式化工具推荐
查看>>
SQL Server 临时表的删除
查看>>
StackOverFlow关于JVM的文章
查看>>
程序8
查看>>
【原】WebRebuild深圳站的一点感悟
查看>>
23讲 URL
查看>>
Excel Open Xml中CellStyleXfs,cellStyle,cellXfs之间关系的总结
查看>>
QT Basic---Widgets<1>
查看>>
Android开发10.3:UI组件GridView网格视图
查看>>
Power BI的一些视频演示资源
查看>>
Entity Framework 5.0基础系列
查看>>
使用Swift和SpriteKit写一个忍者游戏
查看>>
2014辛星在读CSS第八节 使用背景图片
查看>>
TBluetoothLEDevice.UpdateOnReconnect
查看>>
QtTableView 简介
查看>>
Linux系统上安装软件(ftp服务器)
查看>>