ActionScript 2中缺少Flash ActionScript 3功能

时间:2009-07-12 18:22:57

标签: flash actionscript-3 frameworks actionscript-2 platform

自Adobe推出带有Flash Player 9的ActionScript 3以来,我们中的许多人都很难切换。总之,我想知道AS3作为框架可以做什么,这在AS2中根本不可能或非常困难。我不是在讨论现成的组件,而是内置的类,例如用于web远程处理,二进制数据操作,XML处理等。

5 个答案:

答案 0 :(得分:3)

实际上,AS3是一种语言,而不是一种框架...... Flash播放器API具有类似于特征的框架......但是好吧,我们不要争论术语......所以闪存播放器9中的内容很酷(除了已经提到过的东西)?

  • 一些语言功能让你的生活更轻松:方法闭包(不需要委托),可选参数(与AS2可选参数相比节省了大量时间,这相当于一个黑客攻击),实例范围解析(您可以从在该实例的方法中声明的匿名函数中访问实例的成员,因此不需要var self = this;)
  • 通用API设计:API更清晰,包装合理,正常定义常量(在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.mediaSoundChannel非常有用......

请注意,事件模型和diplay列表可以在AS2中以额外的性能成本重新实现,但我认为这是关于内置功能......

我认为,就是这个......

格尔茨

back2dos

答案 1 :(得分:2)

一大优点是速度。 AS3 is much faster than AS2。这显然允许您进行更密集的编码/动画。

然后还有一个论点,即所引入的所有新内容(内置3D,像素弯曲等)都是针对AS3的,所以如果你坚持使用AS2,你已经落后了3年左右。前沿“。

答案 2 :(得分:2)

作为清单:

  • 本地负载&保存
  • flash.text.engine及其所有新功能(非常大)
  • 原生2.5D(Matrix3D,PerspectiveProjection等)
  • 自定义网址请求
  • 二进制数据操作(在AS2中非常简单)
  • “快速”位图操作(它允许远远超过AS2)
  • 自定义滤镜(Pixel Bender)
  • 新绘图API具有一些新功能
  • E4X XML
  • 炼金
  • 反向运动学
  • DRM媒体(不确定AS2是否可能)

我可能忘记了不少......

答案 3 :(得分:1)

除了转向更像Java的方法(更严格)之外,缺少的很多东西之一就是将舞台变成位图的能力。您可以使用显示列表更好地控制影片剪辑的位置。例如,如果剪辑A包含剪辑B,您可以通过代码重新排列B,使其包含A.有很多类似的东西可以实现更多的控制。 XML更易于使用,事件处理与现代语言更加一致。一个很酷的功能是能够将一个字节数组发送到服务器端脚本,这允许您直接从闪存中将jpg,gif和png保存到服务器上。

还有更多的例子,但我现在想不到任何例子

答案 4 :(得分:1)

Peter Elst有一个很好的video podcas介绍了ActionScript3中可用的功能