随笔分类 - ActionScript3.0
摘要:AS3多人游戏开发—同步人物移动2
阅读全文
摘要:AS3多人游戏开发—同步人物移动1
阅读全文
摘要:最近由于项目的需要,研究了一下protobuf。在这里分享一下经验,具体介绍网上也有不少,可以百度先了解一下。ProtoBuf在as中主要就是序列反序列化的作用,我们主要用它来代替amf,因为像c++这类语言不支持amf。1.AS有两种方案,一种是官方的,还是一种是国人写的。这里先介绍官方的。首先介...
阅读全文
摘要:tm标准mvc框架对应robotlegs 的mvc+s (其实都是一样样滴)
阅读全文
摘要:http://blog.csdn.net/linjf520/article/details/8746064大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值了也没反应;没反应的情况,是因为你的这个Function是普通的类成员函数;重点总结:从这点我们可以知道:AS3中的普通函数,与匿名函数的this区别(这个发现与JS的一样)因为,普通类成员函数中,的this都是指当前实例对象的引用;而,匿名函数中,的this都是指当前执行该匿名函数的thisObj参数;看apply,call的描述中,第一个参数的说明是,要应用该方法的对象;如何理解?难道是,cla
阅读全文
摘要:因为中文语意的问题,很多时候确实会导致混用,而且语境不一样意义也可能不一样。如果只是从计算机编程这个角度说, 讨论最多的也是IO 模型 ,阻塞非阻塞 和 同步异步说的应该是不同的东西。阻塞非阻塞:可以简单理解为需要做一件事能不能立即得到返回应答,如果不能立即获得返回,需要等待,那就阻塞了,否则就可以理解为非阻塞。同步异步: 你总是做完一件再去做另一件,不管是否需要时间等待,这就是同步;异步呢则反之,你可以同时做几件事,并非一定需要一件事做完再做另一件事。同步简单理解成一问一答同步进行,异步可以简单理解为不必等一个问题有答了再去问另一个问题,尽管问,有答了再通知你。举个例子:我去买一本书,立即买
阅读全文
摘要:AS3代码 (1)Loader Loader类可用于加载SWF文件或图像(JPG、PNG或GIF)文件。使用load()方法来启动加载。被加载的显示对象将作为Loader对 象的子级添加。 (2)URLLoader URLLoader类以文本、二进制数据或URL编码变量的形式从URL下载数据。在下载文本文件、XML或其它用于动态数据驱动应用程序的 信息时,它很有用。 URLLoader对象会先从URL中下载所有数据,然后才将数据用于ActionScript。它会发出有关下载进度的通知,通过bytesLoaded和 bytesTotal属性以及已调度的事件,可以监视下载进度。 在...
阅读全文
摘要:stage.scaleMode=StageScaleMode.NO_SCALE;(或者设置其他缩放模式,如EXACT_FIT等);如果没有设置 stage的缩放模式的话,stage.addEventListener(Event.RESIZE,resizeHandler);function resizeHandler(e:Event):void{}这个事件是不能触发的,resizeHandler()里的东西不会被执行,但如果trace(stage.hasEventListener(Event.RESIZE)); //这里会输出 true,也就是说侦听器是添加成功,只是没触发事件而已。一定要设置
阅读全文
摘要:下图展示的是通过柏林噪声和一些滤镜制作的火焰效果。这个效果是从舞台底部燃起的熊熊烈火。这个效果使用了BitmapData里的perlinNoise方法,以及ColorMatrixFilter和DisplacementMapFilter两个滤镜,点击截图下面的链接,可以在新窗口中查看运行的效果。http://www.flashandmath.com/flashcs5/fire/fire.htmlhttp://files.cnblogs.com/wonderKK/fire.zip点击上面的链接下载完整的源文件,源码中已做好注释,也可以在源码的基础上轻松的自定义效果。效果是如何实现的效果实现的基本思
阅读全文
摘要:转自:http://www.shareme.cn/blog/article.asp?id=498/**没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型*Flash不能通过XML文件的扩展名检测正确的MIME类型,嵌入XML数据时都要设置mimeType参数application/x-fontapplication/x-font-truetypeapplication/x-shockwave-flashaudio/mpegimage/gifimage/jpegimage/pngimage/svgimage/svg-xmlapplication/octet-streamQ任意
阅读全文
摘要:(1)在看代码的时候还发现一个以前没有这么注意的问题,也mark一下。关于Loader的load方法和loadBytes方法LoaderContext参数的问题。。要加载某个SWF到自己的安全域内,需要给Loader.load方法指定一个LoaderContext对象。LoaderContext对象的securityDomain属性设置为当前的安全域(SecurityDomain.currentDomain)。通过这样的加载方式,父SWF授信给子SWF,而子SWF的授信则需要通过跨域策略文件。也就是说LoaderContext=null 的情况下则已加载的内容将保留在它自己的安全域中。而使用l
阅读全文
摘要:转自:http://hi.baidu.com/haorui1130/item/d2cbbef174f0bfc6a835a21cflash 安全策略 今天搞了一天的沙箱冲突的问题,头都搞大了,不过最终还是搞定了,哈哈,现在写一些感受,顺便发泄一下现在超爽的心情flsah的安全策略做的还真是怪异,不研究一段时间还真不好掌握,网上说的flash socket端得到服务器安全策略的文章非常多,但是,基本上都是转载,核心思想只有三点:1、通过843端口(传说中的adobe申请保留的端口),socket客户端链接socket服务器后,首先会查找843端口下有没有对应的安全策略文件,如果有就加载(废话)。2
阅读全文
摘要:AS3中实现卡马克卷轴算法来源:9RIA.com天地会 作者:阿伍 2010年06月08日 15:43 网友评论:0条 点击:5210大部分act游戏里都会用到地图卷轴,我目前正在做的也不例外。 老实说,我对flash的底层封装还是很信任的:它将繁杂的底层操作简单化了。譬如一张位图的滚动,不论这张图有多大,都应该会自动缓存、优化渲染。 不过当一个朋友和我说一个3000*600的位图以60fps滚动会占用掉10%以上的cpu时,我半信半疑。 但实际试验确实如此,我尝试各种办法降低消耗,比位图缓存、scrollRect、像素滚动(这个消耗简直要命…),最后想到卡马克算法。 我先是做了一个简单的d.
阅读全文
摘要:自:http://peijinlong.iteye.com/blog/776764之前在做项目的时候,需要在一个MovieClip的时间轴的两个时刻执行帧脚本,但是在使用addFrameScript函数的时候发现了它的一些比较出乎意料的行为。现在就来总结一下: 1、addFrameScript的扩展用法。 我之前就知道这个公开的“秘密”API是用于在程序里面动态的为MC增加帧脚本的一个函数,这个函数的一般用法如下:Js代码 mc.addFrameScript(frameIndex,function); 其中frameIndex就是你要加入帧脚本的帧。这里值得注意的是,这里的frameIndex
阅读全文
摘要:自:http://luoke920.iteye.com/blog/1161549新的air sdk 新增了 ServerSocket类, 利用它我们做一些简单的局域网应用,比如小型的办公聊天软件,以及一些基于socket的服务应用.这样as程序员可以自己搞定服务器端,不在去求于 java程序员.在一下大型应用还没有尝试过.期待有人能做一下大型应用的尝试.小型的办公应用足够能满足了.首先看服务器端代码:?View CodeACTIONSCRIPTpackage{ import flash.display.Sprite; import flash.events.Event; im...
阅读全文
摘要:http://luohonghong.blog.163.com/blog/static/78312058201041632139481/stopImmediatePropagation():void防止对事件流中当前节点中和所有后续节点中的事件侦听器进行处理。stopPropagation():void防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。如:this.addEventListener(MouseEvent.MOUSE_DOWN, funA,false,2);this.addEventListener(MouseEvent.MOUSE_DOWN, funB,false,.
阅读全文
摘要:矢量图,是靠 cpu运算出来的。而位图记录的颜色信息都保存在了内存中。把矢量图缓存成位图,以减轻cpu的运算压力。cacheAsBitmap 属性 cacheAsBitmap:Boolean[读写] 语言版本:ActionScript 3.0 运行时版本:AIR 1.0, Flash Player 9 如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。 具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。 然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。 像素按一对一与父
阅读全文
摘要:请尽可能使用对象池。另一个重要优化称为对象池,涉及到不断重复使用对象。在初始化应用程序期间创建一定数量的对象并将其存储在一个池中,例如 Array 或 Vector 对象。对一个对象完成操作后,停用该对象以免它占用 CPU 资源,然后删除所有相互引用。然而,不要将引用设置为null,这将使它符合垃圾回收条件。只需将该对象放回到池中,在需要新对象时可以对其进行检索。重用对象可减少实例化对象的需求,而实例化对象成本很高。还可以减少垃圾回收器运行的机会,从而提高应用程序运行速度。以下代码演示对象池技术:package { import flash.display.Sprite; ...
阅读全文
摘要:深入理解Flash Player重绘Flash Player 会以SWF内容的帧频速度来刷新需要变化的内容,而这个刷新的过程,我们通常称为“重绘(redraw)”,相信即便是初级的菜鸟也知道,只要使用的是Debug版本的Flash Player, 右键菜单里就会有“Show Redraw Regions (显示重绘区域)” 这个选项,当此选项打开的时候,我们就能清楚地看到此刻场景内被重绘的区域。那么什么情况下会发生重绘呢?1、最常见的是情况就是舞台上的可视组件在形状、位置、状态(alpha, scale…)发生改变的时候会触发Flash Player 的重绘。2、当一个DisplayObje
阅读全文