Actionscript3
文章平均质量分 56
wkyb608
这个作者很懒,什么都没留下…
展开
-
AMF(Action Message Format)
AMF是Adobe独家开发出来的通信协议,它采用二进制压缩,序列化、反序列化、传输数据,从而为Flash 播放器与Flash Remoting网关通信提供了一种轻量级的、高效能的通信方式。如下图所示:AMF(Action Message Format)是一种 binary format的资料型态,透过 AMF overHTTP的方式将flash端资料编码后传回server,原创 2011-10-24 12:36:35 · 507 阅读 · 0 评论 -
Flash 平台技术的优化: 事件捕获和冒泡
使用事件捕获和冒泡可以最大程度地减少事件处理函数。ActionScript 3.0 中的事件模型引入了事件捕获和事件冒泡的概念。利用事件冒泡可帮助您优化 ActionScript 代码执行时间。您可以在一个对象(而不是多个对象)上注册事件处理函数以提高性能。例如,想象创建这样一种游戏,在该游戏中用户必须以最快的速度单击苹果以将其销毁。该游戏将删除屏幕上各个被击中的苹果并为用户增加分数。要侦听由原创 2011-10-27 15:16:10 · 537 阅读 · 0 评论 -
AS3与数据结构
时至今日国内外都还没有一本讲AS3与数据结构的书,对于我这种非科班毕业的社会闲杂人等来说,欲入门数据结构只能从其他语言的古书下手学习,因为有些数据结构随着编程语言的进化已经隐藏在高级语言的API里了,还有些随着计算机硬件的发展对现在的Flash程序开发也已经不再适用了。其实对于现阶段的Flash开发,基本上数组和Object可以搞定一切了,在Flash中的Array和Object可以组成千变万化的转载 2011-10-27 15:52:10 · 875 阅读 · 0 评论 -
DisplayObject显示对象之间的关系
原创 2011-10-28 10:05:26 · 921 阅读 · 0 评论 -
flex组件生命周期
原创 2011-10-28 10:06:58 · 524 阅读 · 0 评论 -
加载外部flash域的问题
如果有多个 SWF 文件中包含名称相同但实现方式不同的编译类,可以根据此示例将外部加载的 SWF 文件的类相互区分开来。先前,已指示子 SWF 使用 ApplicationDomain.currentDomain。在本例中,创建一个新的 ApplicationDomain,因此无论 SWF 第二次加载哪一个 Greeter 类,该类的属性和方法都不会替换第一个 Greeter 类的属性和方法。原创 2011-10-27 16:56:48 · 579 阅读 · 0 评论 -
关于垃圾回收API的中文解说:System.pauseForGCIfCollectionImminent()
Flash Player 11 新增了这个跟垃圾回收紧密相关的API:pauseForGCIfCollectionImminent() 方法。Adobe推出中文的语言参考了:如果垃圾回收器的临界值超过函数的临界参数,则建议回收器应完成增量回收循环。在标记使用的内存时,Flash 运行时垃圾回收器算法将增量运行。当回收内存的未使用部分时,该算法将暂停应用程序的执行。在增量回收循环原创 2011-11-01 10:51:22 · 819 阅读 · 0 评论 -
未来flash player鼠标新功能!中键右键全屏,Free your mouse!
来自Lee Brimelow和Thibault Imbert的最新消息!未来版本的Flash Player将加入更多对鼠标事件的支持,比如:1. 右键点击2. 中键点击3. 全屏移动(不必担心鼠标移除swf区域而失去响应了!)这些基本上都是开发FPS类游戏的必需啊,Adobe终于开窍了!详细介绍(含视频):http://adf.ly/821527/b转载 2011-11-02 11:58:41 · 632 阅读 · 0 评论 -
Flash Builder4 的debug Player配置
flashplayer11 debug版本下载链接:http://www.adobe.com/support/flashplayer/downloads.html关于Flash builder 4中flash player debug 版本的配置,在经历了一番折腾后,和大家分享下我遇到的问题和解决办法:首先安装flash builder 4 ,正常安装后,就开始安装debug版本的原创 2011-11-07 16:24:52 · 999 阅读 · 0 评论 -
FlashBuilder中 Molehill项目运行时 VerifyError: Error #1014: 无法找到类 flash.display3D::Context3D。错误解决方法
配置基于Molehill的Flex开发环境配置后,并在网上下载了两个Molehill的两个范例,导入项目运行时报错。范例地址:http://lab.polygonal.de/2011/02/27/simple-2d-molehill-example/http://blog.kaourantin.net/?p=110报错:VerifyError: Error #1原创 2011-11-07 18:14:39 · 2443 阅读 · 1 评论 -
ActionScript & Flex中快速给ArrayCollection排序的方法
这篇帖子讲的是在ActionScript中用一个快捷的方法来排序ArrayCollection,这方法就是基础Array中的sortOn方法。为了快点我只用了少量代码——我对执行结果就不作陈述了。通常排列一个ArrayCollection你需要创建Sort和SortField类的实例,最终写出如下代码(不能测试的代码仅为留个印象):var sort:Sort = new Sort(转载 2011-11-09 11:05:54 · 823 阅读 · 0 评论 -
导致flash屏幕重绘的几种方式及避免重绘的方法
导致屏幕重绘的几种原因:1、最常见的是情况就是舞台上的可视组件在形状、位置、状态(alpha, scale…)发生改变的时候会触发Flash Player 的重绘。2、当一个DisplayObject的层级(ChildIndex)发生改变的时候也会导致重绘。3、当你将一个Sprite / MovieClip 的buttonMode 设置为 true 的时候,即便是单原创 2011-10-26 18:58:01 · 773 阅读 · 0 评论 -
深入理解Flash Player重绘
Flash Player 会以SWF内容的帧频速度来刷新需要变化的内容,而这个刷新的过程,我们通常称为“重绘(redraw)”,相信即便是初级的菜鸟也知道,只要使用的是Debug版本的Flash Player, 右键菜单里就会有“Show Redraw Regions (显示重绘区域)” 这个选项,当此选项打开的时候,我们就能清楚地看到此刻场景内被重绘的区域。那么什么情况下会发生重绘呢原创 2010-11-25 11:38:00 · 887 阅读 · 0 评论 -
addEventListener函数
addEventListener () 方法 public override function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void语言版本 : Acti原创 2011-10-24 16:10:32 · 586 阅读 · 0 评论 -
Why cacheAsBitmap is bad!
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 :1.myMovieClip.rasterize = true;转载 2011-10-24 17:36:40 · 449 阅读 · 0 评论 -
MouseEvent的target和currentTarget属性区分
MouseEvent有target和currentTarget两个属性。这两个属性有区别,target返回的是最先接收到点击的交互物体,而currentTarget返回的是你addEventListener注册的这个对象。target 属性 事件目标。 此属性包含目标节点。 例如,如果用户单击“确定”按钮,则目标节点就是包含该按钮的显示列表节点。currentTarget 属性原创 2011-10-25 13:17:54 · 1499 阅读 · 0 评论 -
再谈cacheAsBitmap
cacheAsBitmap这个属性很多人都知道,但少有人明白它到底是如何生效的。虽然看名字是转换为位图处理,但用起来的时候感觉却也不过如此。所以,不少人最终选择自己转换Bitmap。当然,自己转Bitmap也是可以的,也只是多浪费点内存和处理速度,然后麻烦点罢了。但事实上,很多时候cacheAsBitmap已经足够使用了。先得说说FLASH的屏幕更新机制。在Debug播放器内,可以勾选原创 2011-10-24 17:25:34 · 514 阅读 · 0 评论 -
stopImmediatePropagation 和stopPropagation的区别
stopImmediatePropagation():void停止当前节点和后续节点的事件侦听,有优先级,则按优先级顺序,无优先级则按注册侦听器的顺序。即执行到发出stopImmediatePropagation命令的侦听器后面的侦听器不可用。stopPropagation():void防止对事件流中当前节点的后续节点中的所有事件侦听器进行处理。如下面的funA和funB,后续则不可用原创 2011-10-24 15:58:58 · 696 阅读 · 0 评论 -
DisplayObject的cacheAsBitmap属性
如果设置为 true,则 Flash Player 将缓存显示对象的内部位图表示形式。 此缓存可以提高包含复杂矢量内容的显示对象的性能。 具有已缓存位图的显示对象的所有矢量数据都将被绘制到位图而不是主显示。 然后,将位图作为贴紧到最接近像素边界的未拉伸、未旋转的像素复制到主显示。 像素按一对一与父对象进行映射。 如果位图的边界发生更改,则将重新创建位图而不会拉伸它。除非将 cach原创 2011-10-24 17:04:52 · 656 阅读 · 0 评论 -
flash.net.registerClassAlias类
registerClassAlias当以 Action Message Format (AMF) 对一个对象进行编码时,保留该对象的类(类型)。将对象编码为 AMF 时,该函数将保存该对象的类的别名,以便在解码对象时可以恢复该类。如果编码上下文没有为对象的类注册别名,该对象将被编码为一个匿名对象。同样,如果解码上下文注册了不同的别名,将为原创 2011-10-25 17:51:47 · 1183 阅读 · 0 评论 -
运行时代码执行基本原理
了解如何改进应用程序性能的关键是了解 Flash Platform 运行时如何执行代码。运行时在一个循环中运行,其中某些操作是针对每个“帧”发生的。在这种情况下,帧只是由为应用程序指定的帧速率决定的一段时间。分配给每个帧的时间直接对应于帧速率。例如,如果指定帧速率为 30 帧/秒,则运行时会尝试使每个帧的执行时间为三十分之一秒。 可以在创作应用程序时指定初始帧速率。可以使用 Ado转载 2011-10-26 18:02:55 · 749 阅读 · 0 评论 -
as3 updateAfterEvent的作用
flash中一共有三个类具有该属性,这三个类分别是:KeyboardEvent,MouseEvent,TimerEvent。调用updateAfterEvent 属性的事件,可强制立即执行呈现操作,而不是等到呈现阶段。但是,如果 updateAfterEvent 频繁导致性能问题,应避免使用它。1.updateAfterEvent怎么用?有很多人做鼠标追随效果的时候,总是发原创 2011-10-26 16:55:17 · 1761 阅读 · 0 评论 -
updateAfterEvent的用处
一般情况下没有API调用可以强制flash player进行渲染,除非,在mouse/keyboard/timer event里面调用event.updateAfterEvent(), 会强制flash player在event处理结束后做一次render.FLASH:(狂点击FLASH会触发updateAfterEvent的调用,强制刷新flash舞台)测试代原创 2011-10-26 17:46:24 · 1071 阅读 · 0 评论 -
Flash 11 – UDK 和 Unity 到来
随着HTML5和WEBGL的到来以及流行,奥多比公司也开始意识到自己不得不加快脚步了。在过去大约两年的时间里他们设计并实施了一次我见过最大的平台更新——Flash Player 11。它使得浏览器可以直接通过硬件加速来展现高画质的游戏。如果你觉得这个消息不够振奋的话,接着他们实现通过UDK和Unity这些工具平台输出Flah Player支持的格式。下面视频就是在浏览器上的虚化3引擎实现:转载 2011-11-09 11:04:14 · 769 阅读 · 0 评论 -
使Label出现手型
mx:Label text="click me" useHandCursor="true" buttonMode="true" mouseChildren="false"/>原创 2011-12-07 15:48:24 · 949 阅读 · 0 评论 -
Embed到程序中的swf文件如何获取MovieClip对象
很多时候要将体积小的swf文件嵌入到程序中,单纯的嵌入并不能获得MovieClip对象,怎样才能获取到呢?通过下面的例子可以知道://嵌入进去的swf文件[Embed(source = "LoadingProcessBar.swf")]var loadingProgressClass:Class;//采用下面的方法:首先获取二进制数据,然后再得到MovieClipvar原创 2011-12-21 20:38:55 · 691 阅读 · 0 评论 -
Vim调用Ant编译swf并自动调试
或许很少有人像我这么极端吧,放着好好的盗版XP和盗版Flash Builder不用,偏要去鼓捣什么Vim……当然,在Vim下面,你可以自己写脚本调用Flex SDK的命令行编译器mxmlc进行编译,但我更愿意用Ant,原因如下:配置方便基于XML的配置文件,比命令行好读好写;JAVA原生Ant是JAVA写的,Flex SDK的编译器(mxmlc、转载 2012-10-17 13:38:23 · 604 阅读 · 0 评论 -
《Flash Player 多元件性能测试报告》作者:寂寞火山
★测试环境:→硬件环境:Intel (R) Core (TM)2 Duo CPU T5850 @2.16GHz,2.00GB内存。 →软件环境:FLASH CS3,Adobe Flash Player 9.0 r45,AVM2。 →FLASH IDE环境:舞台尺寸:750×500像素,帧频:24 fps。→测试报告源文件:点击进入火山门户相关帖★本文所用到的简称:转载 2012-10-17 20:28:48 · 748 阅读 · 0 评论 -
ActionScript通用开发框架
Actionscript 3(简称as)自2006年诞生以来,出现了一大批很优秀框架。就我的知识领域,运用包括pureMVC、pushButton Engine(组件框架)、Robotlegs、Ash等等。我将对这几个通用的开发框架进行一个较深入的总结。同时下文的种种判断、结论可能不完全正确,完全限于个人的思考、理解得到的。运用框架让开发效率更高,扩展性好,可维护。理解框架让框架的作用发挥极致,开转载 2012-10-18 20:16:41 · 964 阅读 · 0 评论 -
游戏中实现物体的精确选择
最简单也是最高效的方法:1. 制作flash动画的时候,在Flash CS里面把图片的alpha 通道删除掉, 这样就只有 图像区域响应MouseOut,MouseOver事件,透明区域不响应。具体方法:选中图片->分离 取消选中 工具面板->套索->魔术棒 设置为:"像素",阀值:"0" 点一下透明地方然后按del键 2. 下面这种方法适合 采用序列帧图片生成动转载 2012-10-29 19:41:39 · 568 阅读 · 0 评论 -
一个不错的博客
http://jsfox.cn/blog/原创 2012-10-29 19:43:31 · 581 阅读 · 0 评论 -
记录一个网站
http://zengrong.net/原创 2012-10-19 13:55:47 · 383 阅读 · 0 评论 -
用 Adobe AIR/Flex 做 iOS 开发有哪些优势和局限?
这是我在知乎上的一个回答,原文在这里:http://www.zhihu.com/question/20001972/answer/15572624 我没有用XCode开发过具体项目,我的移动开发经验主要是Android SDK、AIR for Android、AIR for iOS。因为开发经验的限制,我不能准确的说明XCode的优势和劣势,这里只基于自己的Android开发经转载 2012-11-15 13:09:15 · 880 阅读 · 0 评论 -
BUG?AIR打包的iOS程序在整数比较上的问题
以前找到过一个FlashPlayer在执行NetStream.play的时候崩溃的BUG,没想到今天又让我碰到一个AIR的BUG。和上个BUG不同,这个BUG再现起来相当容易,但我还是找了1天才找到再现的方式。问题再现?View Code ACTIONSCRIPT1234567891011121314转载 2012-11-15 13:17:42 · 570 阅读 · 0 评论 -
Adobe AIR读取本地外部SWF文件的功能概览
来自印度同事发布的原文:http://blogs.adobe.com/airodynamics/2012/11/09/packaging-and-loading-multiple-swfs-in-air-apps-on-ios/下面是我的译文:(译者,James Li,http://jamesli.cn)———————————————-In an upcoming re转载 2012-11-22 13:44:55 · 3084 阅读 · 0 评论 -
往TextField的htmlText属性添加img标签时的更有趣现象
TextField的htmlText属性,大家都使用过了。向其添加img标签后,你可以通过src属性添加图片,有趣的是你还可以添加swf影片。但,我刚才在这篇文章里发现更有趣的是,你还可以添加DisplayObject类及其子类!package { import flash.display.MovieClip; import flash.text.T转载 2013-01-29 22:43:01 · 1013 阅读 · 0 评论 -
解决ANT编译Flash时的 Error Loading : jvm.dll
新工作的第一个功能即将开发完毕,但是在发布的时候遇到点问题。因为工程浩大,版本更迭的编译发布是个严峻问题,这边使用Ant来解决 。其他人都用FDT做开发,Eclipse本身就有Ant插件,所以用起来自然而然,没遇到过什么问题。而我用FD,FD不支持类似的插件,所以必须用命令行进行编译。于是问题来了,当我下载Ant并运行时,报错:?1转载 2012-10-17 13:34:02 · 2477 阅读 · 0 评论 -
将编译AS3区分Debug版本和Release版本
首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。下转载 2012-10-17 20:18:16 · 1047 阅读 · 0 评论 -
Flash Player 11异步解码Bitmap
Flash Player 11引入了一个全新的功能是异步解码位图的功能,这个功能对某些类型的Flash应用会很有效,尤其是需要加载大分辨率的位图的相册或游戏会有显著效果。这个功能在Flash Player 11里的实现非常简单,需要使用flash.system.ImageDecodingPolicy这个类。这个类的使用,是通过flash.system.LoaderContext类中制定im转载 2012-01-06 18:43:42 · 607 阅读 · 0 评论 -
Flash Player 11.4与AIR3.4新功能解释
2012年7月17日,Adobe官方网站labs.adobe.com放出了Flash Player 11.4和AIR3.4的第一个公开测试版本。我认为这个版本是Adobe在Flash Player 11里引入Stage3D API功能后一个最重要的功能更新版本。下面就解释我为什么要这么讲:Flash Player 11.4 Beta与AIR3.4 Beta引入了这些全新的功能:Conc转载 2012-07-18 01:07:28 · 941 阅读 · 0 评论