Flash Player API
jomoonrain2
这个作者很懒,什么都没留下…
展开
-
Event.ADD_TO_STAGE事件
Display objects often need to perform set-up tasks which depend on the stage. They might wish to access stage.stageWidth or stage.stageHeight, for example. The trouble is, the stage property will return null until that object is on the Display List.The sta原创 2010-09-06 15:27:00 · 1950 阅读 · 0 评论 -
运行时共享库的疑问
问题描述:1.相关文件:liberay.swc;library.swf(后者从前者解压出),库中包含一个Vector2D的类;2.将liberary.swc作为外部库(编译时不会导入)。3.将liberary.swf放在不同的目录下。一个是主swf的根目录,另一是放在主swf上一级目录下的lib字目录下。4.用loader直接加载,运行代码如下,报错情况如下。5.如果采用URL原创 2012-02-20 10:57:11 · 611 阅读 · 0 评论 -
as3基本数据类型相关
package { import flash.display.Sprite; import flash.events.Event; import flash.sampler.getSize; /** * ... * @author Physwf */ public class Main extends Sprite { private var i:int;原创 2012-05-12 21:01:32 · 765 阅读 · 0 评论 -
Array 和 Vector
我们都知道在这两个类的构造函数中传递一个整数值,意味着指定他们的长度。特别地,对于Vector来说,这将建议Fp采用一段连续的内存区域给其使用。因为Vector需要指定的对象类型,所以它事先知道存储一个元素所需要的内存大小。但是Array不同,他没有要求你指定元素的类型,或者说元素的类型有可能是改变的,因此即使给数组指定了长度,也不能获得想Vector那样的优惠。举个例原创 2012-05-31 23:07:51 · 423 阅读 · 0 评论 -
AS3中的Timer和Event.EnterFrame的区别
src=http://www.cnblogs.com/tionase/archive/2008/07/12/1241428.htmlAs3中的Timer和Event.EnterFrame是有明显的区别的。Evnet.EnterFrame是定时间隔多少时间出发。如果执行时间比间隔时间长,则会间隔执行时间这么久。举个例子: Flash的stage.FrameRate设置为 25转载 2012-05-21 16:57:56 · 2331 阅读 · 0 评论 -
Function的apply方法参数
package{ import flash.display.Sprite; public class HouseTool extends Sprite { public function HouseTool() { hi.apply(this,["hi"]); } public function hi():void { //trace(argume原创 2012-09-08 12:50:36 · 1344 阅读 · 0 评论 -
ByteArray的字节序/Endian
Flash中的ByteArray对象,可以看成是一段内存,而该对象的endian属性决定着将外部数据写入内存的字节序。以写整形为例,如果ByteArray对象的endian设置为默认的bigEndian,即大端,那么在写入一个4字节的整型时,它将会先把数据的最高有效位写入到最低端,最后,数据的最低有效位会被写入最高端。所谓最高端与最低端在ByteArray对象中可以用它的position属原创 2012-11-23 13:58:03 · 2185 阅读 · 0 评论 -
ApplicationDomain中类定义的销毁
ApplicationDomain是类定义的容器,通过Loader::load(request:URLRequeset,loaderContext:LoaderContext):void方法中的第二个参数来设定新加载进来的模块中类定义存放的位置。一旦模块加载进来之后,类的定义便被装入到某个ApplicationDomain中,并且这些定义不会因为加载内容的卸载(通过调用Loader::uloa原创 2012-12-23 13:20:12 · 785 阅读 · 0 评论 -
ByteArray的API
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):voida.readBytes(b,offset,length);从a的当前位置(position)开始,向b中读入length长的字节,将这些字节放在b中的offset位置。a.writeBytes(b:ByteArray, offset:uint原创 2013-01-05 16:21:49 · 450 阅读 · 0 评论 -
for each ,for的快慢
在flash技术圈内,经常会讨论一些API的效率问题。之前也曾一度陷入一些问题的讨论,但到头来发现很多问题比较莫名其妙。因为as本身的封闭性,和flash社区的整体水平问题,很多问题很难从理论上深入的分析,从而都没有一致的定论。本来技术这种问题,即使没有绝对一致的定论,至少应该有相对一致的定论,但时常有时候有些人讲这些相对的结论推广到普遍的情况之下。比如具体的一个问题:for和for each原创 2013-05-20 12:33:46 · 1231 阅读 · 0 评论 -
关于getobjectsunderpoint
关于这个方法的普遍疑问是:这个方法获得的不是容器对象的子对象,而是子对象内部的shape 之类的更内部的东西,而这种情况只发生在子对象内部的东西是手工画上去的,或者是用位图填充的;如果是用绘图API动态画在子对象上,那么 这个方法可以直接返回子对象的引用,而不需要在用其parent属性。如果说忍受这样的双重标准还说的过去的话,那么对下面的问题又该作何解释?如果你用绘图API在container自身上去画东西,那么用container.getobjectsunderpoint在相应的点取对象的话,得到的将是c原创 2010-09-26 11:31:00 · 657 阅读 · 0 评论 -
关于stage的MouseEvent
最近遇到一个很令人费解的问题鼠标移到舞台对象的空白区域时不会触发mouseOver事件,当然移出时也不会有mouseOut事件code:stage.addEventListener(MouseEvent.MOUSE_OVER,onMouOver)function onMouOver(e:MouseEvent){ trace(2);}在时间轴上测试如上代码不会有任何反应当然如果你在舞台上添加一个影片剪辑,(没有F8成影片剪辑的手画的图形不可以),那么当鼠标移到影片剪辑上时,是会有反应的不过显然上面所描述原创 2010-10-05 23:39:00 · 838 阅读 · 0 评论 -
bitmapdata.draw方法与负坐标部分截图
draw(source:IBitmapDrawable, matrix:Matrix = null, colorTransform:ColorTransform = null, blendMode:String = null, clipRect:Rectangle = null, smoothing:Boolean = false):void这个方法在截取只有正坐标范围内才有图像的时候很方便,只需要把图像源传递给他即可(如果只想截取部分,可以用clipRect参数来指定)。但对于负坐标部原创 2010-10-20 22:59:00 · 2293 阅读 · 0 评论 -
AS2的一些总结
<br />_lockroot属性:<br />这个属性用来锁定_root的指向。通常在被加载的swf中使用这个属性,一般的用法如下:<br />mc._root._lockroot=true;<br />//something operate with the _root property<br />mc._root.lockroot=false;<br />其中mc为被加载到swf中的影片剪辑。将_lockroot的属性设为TRUE时,_root属性就指向为加载这个swf的文件的根部。<br />需要注原创 2011-01-08 12:51:00 · 955 阅读 · 0 评论 -
DisplayObject的loaderInfo属性
每一个DisplayObject都有一个loaderInfo属性,这个属性返回一个loaderInfo对象,而这个loaderInfo对象包含加载这个显示对象的文件的相关信息。比如这个文件的相对或者绝对地址(包含在loaderInfo的url属性中)。利用这个属性我们就可以很方便的移植flash文件,而不必担心文件中引用的某些文件路径因文件的移动而发生错误但实际上来说,诸多的DisplayObject对象的loaderInfo所指向的都是同一个loaderInfo对象,也即root.loaderInfo原创 2010-11-20 21:48:00 · 917 阅读 · 0 评论 -
Vector的3D排序
<br />Vector类不如Array方便的地方是没有sortOn()这样一个便捷的方法,要想利用Vector来进行Z轴排序就要多费一点功夫:<br /> <br />首先要定义一个比较函数,比较函数定义了排序的原则,对z轴排序来说,我们希望利用元素在Vector中的index值来确定元素在显示列表中的位置,因此根据z越大,(元素位于显示列表中的)深度应该越浅的原则应该如下定义比较函数<br />private function compare(x:MovieClip,y:MovieClip):Numbe原创 2011-02-15 15:00:00 · 1028 阅读 · 0 评论 -
实现IEventDispatcher
当我们无法扩展EventDispatcher的时候就只有去实现IEventDispatcher了。但是事情并不是想象的那么简单,这里有一点小小的弯子。 IEventDispatcher只是一个空的抽象的接口,你调用它的addEventListener方法并不会对fp产生任何影响。as3中实现底层事件机制的只有EventDispatcher,所以在我们必须实现IEventDispatcher原创 2011-06-28 09:38:00 · 2674 阅读 · 0 评论 -
as3中对象的比较
最近因为一个bug偶然发现了as3的一个隐秘的特性,即在两个对象之间是用比较运算符。当然,我要说的不是比较两个对象相等还是不相等(== or !=),而是大于或者小于(> or var o:Object = new Object();var oo:Object = new Object();trace(o>oo);//falsetrace(o虽然我们从未定义过(也没有办法原创 2013-06-17 17:19:51 · 1659 阅读 · 0 评论