现在的位置: 首页 > 综合 > 正文

利用ActionScript 3.0 开发游戏DEMO 小结

2013年10月16日 ⁄ 综合 ⁄ 共 1472字 ⁄ 字号 评论关闭

利用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个对象,然后释放,都很正常,任务完成!~

 

   

 

 

 

 

 

 

 

 

抱歉!评论已关闭.