利用ActionScript 3.0 开发游戏DEMO 小结

利用ActionScript 3.0 开发游戏DEMO 小结

简介:

这个demo的功能是利用ActionScript 做一个加载人物的movieclip 和武器的movieclip ,这两个movieclip都被封装成了Class,然后能够控制人物做各种动作(播放不同的帧),还能把人物添加到 地图中 ,添加的数量自己可以设置,添加完毕后还要能够清除地图上已经添加的人物 ,并做到内存释放。

ps:因为是在开发机上做,所以不能提供源代码和素材,只能够写出总体结构以及实现思路。初次接触ActionScript ,有什么不对的地方请不要拍砖。。。。。。

首先是设计,根据需求,建立各种不同的package ,放置不同的as 文件 具体结构如下:

src

---component 放置组件 比如 用as写的button,inputText

MyButton.as

MyInputText.as

---managers 放置各种manager(manager使用单例模式),相当于mvc里面的controller,里面有EventManager ,LoaderManager

EventManager.as

LoaderManager.as

Manager.as

---panel 放置各种面板 其中有个 BasePanel ,是面板的父类,别的面板都继承他,里面有setSize,setText方法

BasePanel.as

UIPanel.as

---pic放置需要的图片

---res 放置需要的资源 ,主要是movieclip 都被封装成了swf 文件,人物swf,武器swf 都需要loader载入

Main.as 主类 里面有几个层 mapLayer playLayer uiLayer (都是sprite)

Resource.as 主要利用Dictionary类建立图片名称和 bitmap类的绑定关系 ,根据图片名称得到图片

之后是实现 :

在Main 中添加并且初始化 mapLayer playLayer uiLayer ,并且初始化 Manager ,manager中有个mainScene 的sprite ,给他赋值为 main(相当于manager中的mainScene指向了Main,以后利用manager就能控制Main.as了)

在UIpanel 中添加需要的button ,inputText

在EventManager中处理UIpanel中的各种事件,根据传递过来的不同值,用不同函数来处理

在LoaderManager 中处理Loader Movieclip ,并且保存Load进来的class (因为之后要多次实例化这个class)

具体细节略过了,各种值传递使用public变量来传。关键是灵活应用 Manager这个单例

后期测试:

利用Loader加载 包含Role Class的swf文件,并且实例化1000个对象到 mapLayer 上 ,能够通过UIPanel控制这些对象做不同动作,也能通过UIPanel控制清除加载的所有对象,内存要必须要释放(不仅仅是rmoveChild,还要把加载的对象置为null)

经过测试,加载1000个对象,然后释放,都很正常,任务完成!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值