随笔分类 - ActionScript 3.0
as的一些重要的知识点
摘要:(1)事件是一个对象,它由flash play产生和管理。事件流分捕获阶段,目标阶段和冒泡阶段。事件流的示意图如下,这里说明一下target和 currentTarget的概念。当一个事件流产生时,就产生了一个显示对象列表,而target是最里层的对象,而 currentTarget是捕获阶段和冒泡阶段被"遍历"的显示对象,当然它只有注册了时间监听器,我们才能获得 event.currentTarget。 (2)不是所有的事件都有这三个阶段。如Timer、URLLoader,它们的事件对象将直接派送给目标对象(target).它们只包含目标阶段而没有捕获阶段和冒泡阶段。它们
阅读全文
摘要:1. enterFrame是一个由播放器发布的事件,每过(1/帧频)秒向全部继承自DisplayObject的对象发送。在这个事件之前正好是屏幕的一次固定刷新。(即两次更新的时间间隔为(1/帧频)秒)2.假设 Flash的舞台的帧频stage.FrameRate设置为25帧/秒,即每帧运行时间是1000ms/25帧,即1帧占40毫秒。Event.EnterFrame的出发间隔为40ms,如果Event.EnterFrame的执行函数花费时间为25ms,那么Event.EnterFrame将以间隔40ms的恒定频率循环执行函数。3.Timer就不一样了,Timer 设置为间隔40ms,而Time
阅读全文
摘要:换系统之后发现,换了新版的Chrome。我想用debug版的flashplayer插件,于是照常规安装了“flashplayer plugin debug”版。装好之后重启Chrome打开http://www.flashplayerversion.com/,看到版本是最新的,可不是debug version,觉得很奇怪。后来到控制面板里把flash plugin直接卸载了,打开Chrome依然能播放flash!原来最新版的Chrome都已经内置了flashplayer,而且是最新版的,这本是很好的事情,但对于flash开发者来说,需要的是debug版的fp,需要找到方法给Chrome把内置的f
阅读全文
摘要:由AdobeFlash Professional 已经发展成一个强大的应用程序和游戏开发环境,所以有必要去了解媒介的特色以及相关的性能优化。使用矢量图形和位图是Flash中可视化设计中的一个基础内容。图形光栅化指的是为了性能优化而将矢量图形转化为位图这么一个过程。本文研究的是赞成和反对使用矢量图形和位图的依据,以及目前已有的用于图形光栅化的操作方法。你将可以找到很多有关这方面内容的简单的练习,这些练习举例说明了怎样在创作时和运行时去设置以及使用光栅化特性(点击图1)。同时,你也将学到怎样使用新的导出为位图的特性-----以及学会如何在ActionScript 3中使用BitmapData对象。
阅读全文
摘要:1、建立FontLibrary.fla文件,在其文档类FontLibrary.as中写如下代码:package { import flash.text.Font; public class FontLibrary extends Sprite { [Embed(systemFont="华文中宋", fontName="MyFont", unicodeRange="U+8f93,U+5165,U+6587,U+5b57", mimeType="application/x-font")] static public v
阅读全文
摘要:求下面函数的返回值 -- 统计1的个数-------------------------------------function func(x:int):int{ var countX:int = 0; while(x) { countX++; x= x & (x - 1);} return countX;}假定x = 999910011100001111答案: 8思路: 将x转化为2进制,看含有的1的个数。注: 每执行一次x = x&(x-1),会将x用二进制表示时最右边的一个1变为0,因为x-1将会将该位(x用二进制表示时最右边的一个1)变为0。判断一个数(x)是否是2的n
阅读全文
摘要:注:文中的Bitmapdata和BMD均为同一意思BitmapData,BMD为其缩写一,概括:Bitmapdata继承Object对象,实现IBitmapDrawable接口,这个接口有什么用,你可以理解为Drawable,能被画。官方介绍是:IBitmapDrawable 接口由可作为 BitmapData 类draw()方法的source参数传递的对象来实现。 这些对象的类型为 BitmapData 或 DisplayObject。 其实就是能被“画”,这点我在一会的公共方法中会详细介绍。个人理解来说,BitmapData主要提供的是对图像的“像素级”的操作,如果你想切实感受一下,有个挺
阅读全文
摘要:首先先回顾一下FLASH的OO构成。对于FLASH,我们可以把任何的可视化元件都看成某个类文件的具体实例,包括swf文件。我们可以把swf文件看成一个类的具体实例,而它里面拥有个个其他类的实例对象,例如:我们新建一个loaded.fla文件,然后我们建立一个影片剪辑元件,你可以在它的内部做一些动画处理,打开库,单击元件右建,选择“链接”打开“链接属性”,在类的输入框里我们键入“myClass”。这样一来我们就可以把这个元件作为一个类--myClass。也就是说我们可以通过new来构建这个元件的具体实例并显示在舞台,如:var test:myClass=new myClass();addChil
阅读全文
摘要:最近学习做socket, 当然就用到ByteArray了,一起学习一下吧。objectEncoding: 设置ByteArray读写Object是编码格式, 仅对writeObject,readObject这两个方法有用.endian:指示多字节数字的最高有效字节位于字节序列的最前面。 一般不用设置, 默认是Endian.BIG_ENDIAN.bytesAvailable, length, position这3个属性是相关的.position:ByteArray的当前读写点, 可读写. (当然length == 1, 设置position = 5, 这样也不会报错)bytesAvailable
阅读全文
摘要:1、反射就是通过一个字符串得到一个Class,然后根据这个Class得到它的实例。2、例如:现在假设有100种动物(Animal),它们都继承自Animal类,这时候你需要实例化随机选择的一种动物,如果你不用反射,就要用switch做N次的条件判断,(Dictionary实现会比较优雅,但是依旧繁琐)。如果用反射,就会简单的多:public static function getNewAnimal(type:String):Animal{ var classReference:Class = getDefinitionByName(type) as Class; //通过一个字符串得到一个Cl
阅读全文
摘要:用URLLoader以二进制的方式加载外部图片,获得URLLoader.data的ByteArray数据,再用Loader去加载,这时Loader.content就是一个bitmap了。package {import flash.display.Bitmap;import flash.display.Loader;import flash.display.MovieClip;import flash.display.Sprite;import flash.events.Event;import flash.filters.ConvolutionFilter;import flash.net.U
阅读全文
摘要:AS3已经中Loader与URLLoader是两个比较容易混淆的类,特此区分:1、应用范围 Loader: swf,图片(jpg,png,gif) URLLoader:文本文件(xml,php,jsp…)2、使用方法 Loader:loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); private function loadComplete(event:Event) {trace("done");addChild(loader);}URLLoader:xmlLoader.dataF
阅读全文
摘要:页游,最最核心的就是客户端(swf)与服务端的游戏通信了。游戏通信产生的封包,内容是否可识别,可篡改,可重放,处理逻辑是否有漏洞,都决定了这款游戏是否有重大的漏洞。 网页游戏的安全问题,在刚入职接触的时候,写过两篇比较浅显的文章。虽然页游安全总体上并没有显著变化,没有新的攻击方法,也没有新的防御方法,我个人的工作重心也由页游安全转向了手游安全,但出于完美主义的偏执,还是希望写一篇覆盖完整的页游安全文章,希望能给页游产业一点帮助。一、协议安全(swf安全):自动封包 (重点)页游,最最核心的就是客户端(swf)与服务端的游戏通信了。游戏通信产生的封包,内容是否可识别,可篡改,可重放,处理逻...
阅读全文
摘要:JSFL是一个很强大的东西,而且研究的越深越发现其功能的强大。下面我就把自己总结的一些东西拿出来和大家分享一下。1、 JSFL存放路径 1)JSFL文件可以单独存放于磁盘中,只要选择其 打开方式 为Adobe Falsh即可.2)可以把JSFL文件放在 *:\Documents and Settings\*username*\Local Settings\Application Data\Adobe\Flash CS4\zh_CN\Configuration\Commands 然后进入任何一个Flash文件,选择命令菜单就可以看见你新建的JSFL了。 对于第一种存放方法适用于用其他工具(如Ja
阅读全文
摘要:基本上所有flash IDE能做的操作都可以通过JSFL做出。JSFL使用起来很简单,而且调试很方便。IDE里面的历史面板可以把你每一步操作使用的JSFL源码都告诉你。document.selectAll()选择舞台上的所有项目。此方法等效于按 Control+A (Windows) 或 Command+A (Macintosh),也等效于选择”编辑”>”全选”。示例下面的示例选择用户当前可见的所有内容:fl.getDocumentDOM().selectAll();document.selection属性;文档中的所选对象的数组。如果未选择任何内容,则返回一个长度为零的数组。如果未打开
阅读全文
摘要:实例如下://filename: batch_export.jsfl//将cs3中lib下的位图,生成对应的mc元件, 并按名字导出var lib = fl.getDocumentDOM().library; //library 对象var libLength = lib.items.length;var itemArr = [];for(var i=0; i < libLength; i++) { //将位图放入数组 if(lib.items[i].itemType=="bitmap") itemArr.push(lib.items[i]);}for (var i
阅读全文
摘要:JSFL指Flash JavaScript,是JavaScript脚本文件,是用来扩展Flash IDE的重要工具。学会它、熟练使用它之后你会惊讶的发现,哇,原来可以这么高效率的做Flash啊!下面我们来看一看怎么使用JSFL: 不知道各位朋友有没有使用过Flash IDE中的“历史记录面板”?如果没有用过的话,赶紧Ctrl+F10调出来看一看吧,因为本文的内容将从它身上开始。 在Flash IDE中(本人使用Flash CS3 Professional)按下R键(矩形绘制工具的快捷键),在舞台上拖动鼠标绘制出一个矩形。观察“历史记录面板”,你会发现面板中添加了一个名为“矩形”的动作。选中“.
阅读全文
摘要:二进制深层次克隆(彻底摆脱了对原型(源对象)的影响和依赖) 特点: 1. 不能访问函数,只能访问属性 2. 使用bytearray克隆,不好的就是克隆出来的Object并非原应用类型,而且只可以克隆public属性。 它适用于在AS3中定义的数据类型,包括所有基元类型及由基元类型组合的复合类型,却并适用于在FP中定义的显示对象类型,如Sprite,MovieClip等。注:基元类型指String, Number, uint, int, Object,Null, Boolean,void。貌似这样我们就可以实现对象的深拷贝了,但这个方法是有局限的。 AS3的效率(注意,我说的是AS3...
阅读全文
摘要:发一些flash builder的一些小敲门,希望可以帮助大家,当然也可以留着以后忘记了备用的。1、 窗口->首选项->常规->编辑器->文本编辑器->注释 在这里可以设置一些常用文本。如下图:2、flash builder->窗口->首选项->flash builder->编辑器->代码模板->actionscript ,这里可以定义flash builder 小助手的地方就是alt + / 出来的那个代码助手,这里可以自己定义,如下图:这样就可以定义自己的助手了,比如有什么代码经常写,就可以定义助手,在创建时插入变量就可以了
阅读全文
浙公网安备 33010602011771号