在 AS3 中,您可以更有策略地构建和组织您的应用程序。它比 AS2 更快、更简洁并且更值得推荐。主要区别在于,您可以开发比 AS2 具有更强 OOP 影响力的 Flash 应用程序。
AS3 使得使用第三方代码变得更加容易,例如 Greensock 的 Tweenlite、Papervision 3D 和 box2d。
在 AS2 中,您必须使用原型来杂乱地实现类在 AS3 中可以为您做的事情。例子:
AS2原型:
MovieClip.prototype.flip = function():Void
{
this._rotation += 180;
}
Run Code Online (Sandbox Code Playgroud)
AS3 类可用作所有 MovieClip 的基类:
package
{
import flash.display.MovieClip;
public class MyMovieClip extends MovieClip
{
public function flip():void
{
rotation += 180;
}
}
}
Run Code Online (Sandbox Code Playgroud)
尽管创建自己的类需要更多代码,但您现在可以扩展此类并只需flip()从其中调用即可运行该flip()方法。在 AS2 中,您必须与您的函数位于相同的范围内MovieClip.prototype.flip()才能访问它,这可能会导致混乱。
以下是创建 MovieClip、将其添加到舞台然后使用您的flip()函数的 AS2 和 AS3 比较:
AS3:
var mc:MyMovieClip = new MyMovieClip();
mc.flip();
addChild(mc);
Run Code Online (Sandbox Code Playgroud)
AS2::
MovieClip.prototype.flip = function():Void
{
this._rotation += 180;
}
var mc:MovieClip = attachMovie("your_library_mc", "newname", this.getNextHighestDepth());
mc.flip();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30631 次 |
| 最近记录: |