自Adobe推出带有Flash Player 9的ActionScript 3以来,我们中的许多人都很难切换。总之,我想知道AS3作为框架可以做什么,这在AS2中根本不可能或非常困难。我不是在讨论现成的组件,而是内置的类,例如用于web远程处理,二进制数据操作,XML处理等。
答案 0 :(得分:3)
flash.filters.BitmapFilterType
等许多类中),并且暴露了很多东西,并提供了正确的错误处理package flash.net
:
Socket
:真正的套接字,而不是XML套接字...这允许实现任何基于TCP的协议URLStream
:这实际上非常强大,但就个人而言,我总是使用套接字package flash.display
:更清洁,更一致,更精细(从而减少开销)......此外,您最终可以将对象从显示列表中移除,更改其父级等...输入事件不再通过一个回调处理(有时候是一个极限的限制),它们以合理的方式触发(在具有焦点的对象上),它们在嵌套的{{{ 1}} s ...然后在显示列表上冒泡...
InteractiveObject
:允许在运行时使用ActionScript生成swf并直接将它们加载到播放器中,以及手动缓存Loader::loadBytes
:最后,您可以在运行时更改它Stage::frameRate
& DisplayObject::getBounds
:要比摆弄AS2等同的这个令人难以置信的愚蠢回报值好得多...... DisplayObject::getRect
:上面部分提到,与DisplayObjectModel结合使用,它更干净,功能更强大,非常可重复使用......做得好,真的...... package flash.events
:
package flash.utils
:在合理的时间内操纵二进制数据...这允许JPG或PNG压缩,在客户端创建PDF,等等ByteArray
:允许将对象映射到对象......这可以非常方便(你可以将其破解为AS2,但这不是你的问题,对吧?)...例如,这是非常适合创建集合,或将对象映射到处理程序等。Dictionary
:代理类非常强大,玩起来非常有趣,真的...用于代理,集合,AOP等...... Proxy
:好的,现在这可以很容易地在AS2中重新实现,但除此之外,我认为它比用Timer
摆弄麻烦要干净得多...... setInterval
:
package flash.text
:更大的API,允许很多很酷的东西,如获取字符/行指标等... TextField
:允许在运行时嵌入字体Font.registerFont
:在尝试查找瓶颈时,这非常有用package flash.sampler
:更好的API,特别是package flash.media
和SoundChannel
非常有用...... 请注意,事件模型和diplay列表可以在AS2中以额外的性能成本重新实现,但我认为这是关于内置功能......
我认为,就是这个......
格尔茨
back2dos
答案 1 :(得分:2)
一大优点是速度。 AS3 is much faster than AS2。这显然允许您进行更密集的编码/动画。
然后还有一个论点,即所引入的所有新内容(内置3D,像素弯曲等)都是针对AS3的,所以如果你坚持使用AS2,你已经落后了3年左右。前沿“。
答案 2 :(得分:2)
作为清单:
我可能忘记了不少......
答案 3 :(得分:1)
除了转向更像Java的方法(更严格)之外,缺少的很多东西之一就是将舞台变成位图的能力。您可以使用显示列表更好地控制影片剪辑的位置。例如,如果剪辑A包含剪辑B,您可以通过代码重新排列B,使其包含A.有很多类似的东西可以实现更多的控制。 XML更易于使用,事件处理与现代语言更加一致。一个很酷的功能是能够将一个字节数组发送到服务器端脚本,这允许您直接从闪存中将jpg,gif和png保存到服务器上。
还有更多的例子,但我现在想不到任何例子
答案 4 :(得分:1)
Peter Elst有一个很好的video podcas介绍了ActionScript3中可用的功能