AS3开发卡牌网游 第二章.docVIP

  • 0
  • 0
  • 约5.25千字
  • 约 8页
  • 2019-01-08 发布于湖北
  • 举报
修改昨天的一个错误:   不管用的是那个版本的Flash Builder 4.7,请无视第四步到第七步,不需要作此修改。原因是我把后面的一部分内容看错,提前发出来了,在这里向大家表示道歉,原帖正在修改中,给大家带来的误解尽情原谅。   不说废话,昨天已经把我们需要的环境搭建好了,我们今天就开始来写代码吧! 一、代码结构规划   如图所示,请手动建立这些包。   app.game:游戏除初始化类以外的所有类;   app.game.core:存放一下游戏的核心类;   app.game.events:存放游戏所需要的事件类,这些类包括从AS3的Event原生继承下来的,也包括Starling的Event继承下来的;   app.game.mvc:游戏MVC的核;   app.game.mvc.controllers:游戏MVC中的控制器;   app.game.mvc.models.data:游戏MVC中的模型之静态数据;   app.game.mvc.models.env:游戏MVC中的模型之系统初始化数据;   app.game.mvc.models.message:游戏MVC中的模型之与服务器交互的数据类;   app.game.mvc.views:游戏MVC中的视图;   app.game.uis:游戏里面所有UI存放的地方,这个地址将UI和View分开,可以很快速的更换UI的所有部分,View里面可以少量更改,或者不更改都不影响整个游戏;   app.game.uis.controls:游戏里面自定义的控件;   app.game.uis.controls.renderers:游戏里用的一些渲染器;   app.game.utils:游戏工具包。   这里其实还有一种分法,就是每一个功能模块下各有一个mvc包,这样的分发更适合中大型游戏,一个人有一个独立的模块这样去做。像我们的《暗黑》其实没有必要这样分,有点浪费,更显得凌乱。毕竟《暗黑》不是一个大游戏啊。 二、初始化   我们先预设一下我们的游戏大小,背景颜色,和帧之类的东西。在Main类声明上面填上这么一句就OK了: [SWF(width = 480, height = 800, frameRate = 60, backgroundColor = 0x000000)] public class Main extends Sprite { ? ? // ...... } 复制代码 这句话就是说明,我们游戏的宽为480px,高800px,帧为60,背景为黑色,当然你可以随心所欲的更改。   AS游戏有个很重要的点,就是我们所有的干活必须要等Adobe他们把我们的舞台(stage)初始化好。不然,你啥都别想干了。所以我们在Main里面干的第一件事情理论上来说就是检测stage是否存在的问题。如下面的代码所示: public function Main() { ? ? stage ? initialize() : addEventListener(Event.ADDED_TO_STAGE, function(e:Event):void ? ? { ? ?? ???e.target.removeEventListener(Event.ADDED_TO_STAGE, arguments.callee); ? ?? ???initialize(); ? ? }); } 复制代码 初碰AS3的人童鞋们看见 stage ? initialize() : addEventListener(...) 这样的语句别害怕啊,其实写成这样,就明白了: public function Main() { ? ? if (stage != null) // 这句也可以写成 if (stage) { ... } ? ? { ? ?? ???initialize(); ? ? } ? ? else ? ? { ? ?? ???addEventListener(Event.ADDED_TO_STAGE, function(e:Event):void? ? ?? ?? ?? ?{ ? ?? ?? ?? ?? ???e.target.removeEventListener(Event.ADDED_TO_STAGE, arguments.callee);? ? ?? ?? ?? ?? ???// arguments是function的一个内置对象,在AS里面一个function是一个Function实例,代表的意思是这个方法的参数 ? ?? ?? ?? ?? ???// arguments.callee 说明方法参数在寻找调用的方法 ? ?? ?? ?? ?? ???initialize(

文档评论(0)

1亿VIP精品文档

相关文档