




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Flash-MMORPG游戏引擎及工具开发概述主题:WEBGAME核心(引擎)基础架构职能系统模型----职能管理器事件心跳管理机制---------指令管理器指令管理器(职能管理器)----事件,心跳管理中心一.命令管理模式二.事件及心跳管理机制心跳管理器:packageflash.utils{importflash.events.*;finalclassSetIntervalTimerextendsTimer{varid:uint;privatevarrest:Array;privatevarclosure:Function;privatestaticvarintervals:Array=[];functionSetIntervalTimer(closure:Function,delay:Number,repeats:Boolean,rest:Array){super(delay,repeats?(0):(1));this.closure=closure;this.rest=rest;addEventListener(TimerEvent.TIMER,this.onTimer);start();this.id=intervals.length+1;intervals.push(this);return;}//endfunctionprivatefunctiononTimer(event:Event):void{this.closure.apply(null,this.rest);if(repeatCount==1){if(intervals[(this.id-1)]==this){deleteintervals[(this.id-1)];}}return;}//endfunctionstaticfunctionclearInterval(id_to_clear:uint):void{id_to_clear=id_to_clear-1;if(intervals[id_to_clear]is){intervals[id_to_clear].stop();deleteintervals[id_to_clear];}return;}//endfunction}}通信管理机制-------模块及系统间的通信信件指令-----扩展命令模式的通信载体Message=Head+BodyMODULE—模块解决模块内部的通信问题--------SubModule(订阅模块)对象管理机制WEBGAME可视对象结构:游戏中的可视化对象管理鼠标事件的替代方案--动态4叉树的应用1.解决点击事件中因对象上之上深度的可视对象的存在而阻碍事件的触发.2.实现高效制定范围的对象搜索3.减少深度排序的对象列表数4.用于怪物的简单ai搜索行为5.用户动态绕行阻碍.减少cpu的消耗及内存的使用1.对于非交互类可视对象禁用mouseEnabled及mouseChildren2.addChild(),addChildAt()等方法消耗巨大(排序类操作最好验证判断后使用)3.尽量少用滤镜(消耗较大,创建了两份内存)4.避免大消耗方法使用如:Array.push()<Ayray.unshift()<Array.splice()Array.pop()<ArrArray.shift()<Array.splice()(数据添加后排序)5.少用Alpha与混合模式6.尽量public替代seter()与geter(),消耗相当于方法的调用7.尽量使用函数嵌套.8.实例数越少越好,脚本越多效率越差(虚拟机的反射遍历)资源管理机制资源管理机制资源管理流程:OTHER--算法及辅助工具24用途:1.指定范围内搜索对象2.替代点击事件3.实现简单的AI;4.优化排序,A*等高消耗算法的遍历对象数目……….原理45度深度排序T-R辅助性工具的开发-------45度地图编辑器其他小结:谢谢!

你相****光吗
实名认证
内容提供者


最近下载