2011-05-24 69 views

Respuesta

1

En AS3 puede estructurar y organizar su aplicación un lote lote más estratégicamente. Es más rápido, más limpio y mucho más recomendado que AS2. La principal diferencia es que puede desarrollar aplicaciones flash con una influencia de POO mucho más fuerte que en AS2.

AS3 hace que sea mucho más sencillo utilizar el código de terceros, como TweenLite de Greensock, Papervision 3D y Box2D.

En AS2 que tendría que utilizar prototipo para lograr desordenadamente lo que una clase puede hacer por usted en AS3. Ejemplo:

AS2 prototipo:

MovieClip.prototype.flip = function():Void 
{ 
    this._rotation += 180; 
} 

clase AS3 que se puede utilizar como una clase base para todos sus clips de película:

package 
{ 
    import flash.display.MovieClip; 

    public class MyMovieClip extends MovieClip 
    { 
     public function flip():void 
     { 
      rotation += 180; 
     } 
    } 
} 

Aunque hay más código en la creación de su propia clase, ahora puede extender esta clase y simplemente llamar al flip() desde allí para ejecutar el método flip(). En AS2, debe tener el mismo alcance que su función MovieClip.prototype.flip() para acceder a ella, lo que puede causar un desastre.

Aquí está la AS2 y AS3 comparación para crear un clip de película, de añadir a la etapa y luego hacer uso de su flip() función:

AS3:

var mc:MyMovieClip = new MyMovieClip(); 
mc.flip(); 

addChild(mc); 

AS2 ::

MovieClip.prototype.flip = function():Void 
{ 
    this._rotation += 180; 
} 
var mc:MovieClip = attachMovie("your_library_mc", "newname", this.getNextHighestDepth()); 
mc.flip(); 
+0

ya gracias. esto es realmente útil para mí. – Ramu

4

Además de los cambios en la biblioteca, Actionscript 3 es compil ed y se ejecuta en una máquina virtual completamente diferente (AVM2), que fue reescrita desde cero. Según los informes, ejecuta código AS3 compilado hasta 10 veces más rápido que el script de código compilado para la máquina virtual AVM1.

que debe salir this doc para obtener una lista de las diferencias entre AS2 y AS3, ya que no se pueden explicar mejor el SO :)

+2

Y una adición no técnica: AS2 es el idioma heredado, AS3 es el idioma actual. Las nuevas características que se agregan al reproductor Flash generalmente no se pueden usar desde AS2. – fenomas

0

Como un par de otras personas han dicho AS2 y AS3 son diferentes lenguas y incluso se ejecuta en una máquina virtual diferente en el reproductor flash, AVM y AVM2 (Máquina Virtual Actionscript).

Sin embargo, la mayoría del código AS2 tiene equivalentes directos de AS3 y en el caso del código de la línea de tiempo, los nombres son generalmente los mismos (por ejemplo, gotoAndPlay, stop, etc.). Puede encontrar una hoja de trucos útil aquí: http://actionscriptcheatsheet.com/downloads/as3cs_migration.pdf En general, si no hay AS3 equivalente a lo que tiene en su AS2 hay una manera mejor y más robusto en su lugar.

También hay un libro llamado 'El ActionScript 3.0 Guía de migración' que es posible que desee comprobar hacia fuera también.

También se puede hacer AS2 y AS3 código hablar unos con otros a través de un LocalConnection. Hay muchos consejos sobre esto en la web.

Cuestiones relacionadas