随笔分类 -  as

puremvc源码阅读
摘要:1.mediator作为ui管理器,是设计成可以list多个notification2.所有ui想要监听notification,都需要register到facade中3.puremvc只负责消息的方法和接受,但不负责显示列表的管理,所以对于ui,还需要自己addchild4.INotifier发送... 阅读全文

posted @ 2014-12-15 17:58 飞鸟无痕 阅读(354) 评论(0) 推荐(0)

神奇的TextField(2)
摘要:var text_content:TextField=new TextField(); text_content.autoSize="left"; // text_content.width=text_content.width + 1; // text_content.x=10; /... 阅读全文

posted @ 2014-04-22 19:46 飞鸟无痕 阅读(407) 评论(0) 推荐(0)

loader疑惑
摘要:今天写自己的loader管理类时,发现一个问题,如果证明flash是并发加载资源的呢? var loader:Loader=new Loader; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onChildComp3, fa... 阅读全文

posted @ 2014-04-21 21:46 飞鸟无痕 阅读(186) 评论(0) 推荐(0)

神奇的TextField(1)
摘要:先看一大段测试代码,每个小方法的注释行是输出结果。private var text_content:TextField; private function textFieldDemo():void{ text_content=new TextField(); addChild(text_co... 阅读全文

posted @ 2014-04-17 20:47 飞鸟无痕 阅读(206) 评论(0) 推荐(0)

某游戏源码阅读
摘要:***源码分析1.项目主要分为com包,controller包,data包,view包,lang包,protocols包,haloer包,assist包。 haloer是工具包,assist是资源接口包,也有一些工具类,还包括配置文件类,2.com包下的Controller, Data, View理... 阅读全文

posted @ 2014-04-15 21:09 飞鸟无痕 阅读(203) 评论(0) 推荐(0)

游戏模块化开发的一些思考
摘要:之前做的几个项目都是单个as工程,最近在考虑怎么模块化开发一个游戏,找了很多资料,但没发现有什么参考价值的。下一步准备搜搜国外资料了,也准备看看flex的module的实现。想要模块化开发,主要需要解决下面几个问题(包括但不限于)1.公共类库,每个模块都能调用到,而且不能被打包到各个模块中2.模块的接口怎么定义?3.主模块和功能模块的通信,功能模块与功能模块的通信。 比如,主模块需要加载注册模块,注册模块填写完用户名后又要通知主模块。 比如,某技能模块需要显示某个技能卷轴的数量,但这个数量是背包模块的。4.主模块包括哪些功能?哪些功能是不需要放在主模块的?5.各个模块需要调用统一的消息确认框? 阅读全文

posted @ 2014-04-11 16:15 飞鸟无痕 阅读(951) 评论(0) 推荐(0)

MornUI 源码阅读笔记
摘要:1. label的mouseChildren属性为true,但label本身是不需要监听textfield的任何事件的, 个人猜测是为了给TextInput, TextArea用的,因为后两者需要监听textfield的事件。 所以,我觉得最好的处理方式还是lable的mouseChildren属性设置为false,在TextInput中再设置mouseChildren为true2.DragMangager中找出drop对象的方式比较巧妙,通过value.hasEventListener(DragEvent.DRAG_DROP)带判断是否是合适的对象! 这个很值得借鉴。当项目中还有一个需... 阅读全文

posted @ 2014-03-26 21:30 飞鸟无痕 阅读(671) 评论(0) 推荐(0)

application tips
摘要:trace(ApplicationDomain.currentDomain == ApplicationDomain.currentDomain); trace(stage.loaderInfo.applicationDomain == stage.loaderInfo.applicationDomain);上面代码输出:falsetrue所以理论上,ApplicationDomain.currentDomain还是对真正的application做了一层封装! 阅读全文

posted @ 2014-03-21 14:18 飞鸟无痕 阅读(129) 评论(0) 推荐(0)

[转]就这样,创建了自己的运行时共享库(RSL)
摘要:原文地址:http://riaoo.com/?p=1405 博客园的下载地址(版权归原作者)http://files.cnblogs.com/tianlanliao/CustomRSL.zip 创建运行时共享库(Runtime Shared Library,RSL)并不是什么难事也不是新鲜事了,就是把类定义放到一个swf文件里,其它swf文件在运行时可以共享那些类定义。这样可以防止类定义重复从而减小文件大小。RSL有分带Adobe签名的(例如 Flex framework),也有用户自创建的。带Adobe签名的RSL,假如是swz格式,则可以永久保存在客户端计算机的特定目录下(例如 C:\.. 阅读全文

posted @ 2014-03-14 18:38 飞鸟无痕 阅读(297) 评论(0) 推荐(0)

战斗资源释放一些思考
摘要:原则:尽可能避免某一回合很空闲(没有资源加载),而某一个回合很拥挤(很多资源加载)谁加载的资源谁负责释放(释放的时机?)战斗资源加载优化:1.加载必须资源(裁判,双方主角动作)2.进入战斗(有战斗信息和第一回合数据)3.在裁判回合加载物理动作光效 如果第一回合有法术攻击,加载第一回合的主角法术光效4.在每一轮的初始阶段,加载该回合的资源 该回合的主角法术光效不考虑玩家换职业的情况下:因为第一场战斗已经加载了物理动作光效,所以在第二场战斗开始的时候,裁判回合其实是空闲状态的!战斗资源的释放:1.需要记录本场战斗加载的所有资源 (但主角自己的资源其实不需要记录,主角的资源释放是在切换职业的时候)2 阅读全文

posted @ 2013-12-31 11:05 飞鸟无痕 阅读(229) 评论(0) 推荐(0)

MatrixTurn源码阅读
摘要:在看cacheAsBitmap 相关资料时,找到bit101的一篇文章,http://www.bytearray.org/?p=290全文如下:One of the feature I would really love to see in a future release of the Flash Player is a native rasterizer for display objects. Imagine something like :myMovieClip.rasterize =true;This code would rasterize your DisplayObject a 阅读全文

posted @ 2013-12-30 17:42 飞鸟无痕 阅读(180) 评论(0) 推荐(0)

sound tips
摘要:ASaudio&SoundAS 两个开源项目阅读:ASaudio&SoundAS 都是比较小巧的声音控制,但似乎都不能直接拿到项目只直接使用。ASaudioASaudio的Track,Group和Tween的TweenCore SimpleTimeline有些类似,但相对简单点。它的音量控制是也是通过enterFrame+getTimer实现的。但项目中已经有了通过的enterFrame,如果直接使用的话,会有些浪费,需要嵌入到项目中才比较好。另外ASaudio也是在enterFrame中监听audio是否播放完成,进而抛出事件的。这个避免了原生的sound在播放完成时可能存在 阅读全文

posted @ 2013-12-07 16:47 飞鸟无痕 阅读(191) 评论(0) 推荐(0)

greensock的tween源码阅读笔记
摘要:对于一个处于gc状态的tween,如果这个gc状态是由kill触发的,那么直接从masterList删除否则的话,被tweenlite的垃圾回收删除!对于一个不是立即启动的tween,它被添加到timeline的时机是???tweencore里面有一个add方法???在tweenlite里面又有add方法???对于一个延迟的delaycall,它的active一直是false,理论上是不会被调用的啊???答:在timeline的render方法中,除了根据active判断,还有另外一个判断条件!!!tweenlite作为一个独立的tween需要被insert到roottimeline中time 阅读全文

posted @ 2013-12-05 20:05 飞鸟无痕 阅读(517) 评论(0) 推荐(0)

[转] gc tips(3)
摘要:原文地址:http://kevincao.com/2011/08/actionscript-garbage-collection-2/谈谈ActionScript垃圾回收(下)前文我们介绍了GC的工作机制和帮助GC更好工作的最佳实践。其实只要我们遵守谁创建谁清理的原则来管理对象,就能基本上避免回收失败,也就是我们通常说的内存泄漏问题。但是在实际项目中我们还会看到各种原因引起的内存泄漏,接下来就让我们一起来找出病因。首先我们需要观察症状,也就是内存的使用曲线。排查的方法是反复执行一些创建和删除对象的方法、反复加载和卸载子文件。如果内存曲线一路飙升、或者是居高不下,都表明发生了内存泄漏问题。观察内 阅读全文

posted @ 2013-11-27 22:21 飞鸟无痕 阅读(198) 评论(0) 推荐(0)

[转] gc tips(2)
摘要:原文地址:http://kevincao.com/2011/08/actionscript-garbage-collection-1/谈谈ActionScript垃圾回收(上)在《给AS程序员的一点建议一文》中我提到了释放资源的重要性。最近在一些项目过程中我又对这方面有了更多的理解,在此希望能够分享给大家。首先让我们来回顾一下关于垃圾回收(Garbage Collection,下文简称GC)的一些知识。要阅读本文,你需要对GC机制有些基本认识。在ActionScript中,我们没有API可以直接删除一个对象,也不能控制Player进行GC。但是GC的行为是可以预估的,作为开发者,我们需要了解的 阅读全文

posted @ 2013-11-27 22:20 飞鸟无痕 阅读(177) 评论(0) 推荐(0)

[转] gc tips(1)
摘要:所有应用软件都需要管理内存,一个应用软件的内存管理系统包括了如下准则:什么时候派发内存,要派发多少内存,什么时候把东西放到回收站,以及什么时候清空回收站。MMgc是Flash Player几乎所有内存分配的通用内存管理器,知道MMgc是如何管理内存的对优化你的代码以及运行程序都很重要。内存被垃圾回收机制自动回收就叫做“托管内存”。垃圾回收机制确定当内存不再被应用程序用到的时候就进行回收。本文研究的是内存分配、垃圾回收机制进程以及在Flash Player 11和AIR 3中的新API,pauseForGCIfCollectionImminent()。内存分配Flash Player使用页面分配 阅读全文

posted @ 2013-11-27 22:10 飞鸟无痕 阅读(229) 评论(0) 推荐(0)

string tips
摘要:1. .net文档中说,split 比 indexOf 消耗更多的性能。在as3中经过本人测试,这个结论一样成立。而且,字符串越长,split和indexOf的差距就越明显!!所以,能用indexOf就用indexOf! 阅读全文

posted @ 2013-11-23 15:25 飞鸟无痕 阅读(168) 评论(0) 推荐(0)

vector & array
摘要:private static const NUM_LOOPS:int = 15; public function VectorTest():void { var vector:Vector. = new Vector.(1000000); var array:Array = new Array(1000000); var sTime:Number; sTime = getTimer(); loopArray(array); trace("Loop A... 阅读全文

posted @ 2013-11-20 23:09 飞鸟无痕 阅读(226) 评论(0) 推荐(0)

new tips
摘要:老外的一篇文章(原文地址http://stackoverflow.com/questions/6647677/tips-for-efficient-as3-coding),有这么一段描述:Use [] and new Object(), instead of, new Array() and {}. It is at best 3 times faster. And is extremely common for the more costly operation to occur in loops.Generally speaking, the new keyword is just pla 阅读全文

posted @ 2013-11-20 22:25 飞鸟无痕 阅读(235) 评论(0) 推荐(0)

mouseevent tips
摘要:关于roll_over 和 mouse_over的区别,这篇文章说明的很清楚,http://zengrong.net/post/1105.htm全文如下:在MouseEvent中,ROLL_OVER和MOUSE_OVER、ROLL_OUT和MOUSE_OUT是两对比较相似的事件,它们有什么区别呢?AS3语言参考中是这样解释的:rollOver 事件的目的是简化带有子级的显示对象容器的移开行为的编码。当鼠标进入某个显示对象区域或者从其子级以外的对象进入任何其子级区域时,该显示对象将分派 rollOver 事件。这种行为与 mouseOver 事件的行为不同,每次鼠标进入显示对象容器的任何子对象区 阅读全文

posted @ 2013-11-19 20:27 飞鸟无痕 阅读(260) 评论(0) 推荐(0)

导航