ActionScript - convertir AS2 a AS3

 
Vista:

convertir AS2 a AS3

Publicado por Este_ (1 intervención) el 21/09/2009 20:11:43
Hola a todos,

Tenía un AS2 para una web, pero ahora resulta que han hecho la web en AS3. El gran problema es que yo no sé AS3 y me urge entregarlo. Os pego el AS2 por si alguien me pudiera ayudar a convertirlo en AS3. GRACIAS!!!!!

var _xposicion = 300, _yposicion = 300, densidad = 5;

for (var i = 0; i<densidad; i++) {
_root.attachMovie("mc.smoke0"+Math.round(i%2), "clip"+i, i);
with (_root["clip"+i]) {
_x = _xposicion;
_y = _yposicion;
_alpha = 60;
_xscale = _yscale=Math.random()*150;
}
_root["clip"+i]._const = Math.random()*50;
}

_root.onEnterFrame = function() {
for (var i = 0; i<densidad; i++) {
var clip = _root["clip"+i];
clip._y += (0-clip._y)/clip._const;
clip._alpha += (0-clip._alpha)/clip._const;
clip._rotation += i*0.5;
clip._xscale = clip._yscale += (150-clip._yscale)/10;
}
for (var i = 0; i<densidad; i++) {
var clip = _root["clip"+i];
if (clip._alpha<10) {
clip._x = _xposicion;
clip._y = _yposicion;
clip._alpha = 50;
clip._xscale = clip._yscale=0;
clip._const = 20 + Math.random()*50;
}
}
};
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de código de AS2 a AS3

Publicado por Alejandro (369 intervenciones) el 26/06/2023 19:01:14
Aquí tienes el código convertido de ActionScript 2 a ActionScript 3:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var _xposicion:Number = 300;
var _yposicion:Number = 300;
var densidad:Number = 5;
 
for (var i:int = 0; i < densidad; i++) {
    var clip:MovieClip = new MovieClip();
    addChild(clip);
    clip.name = "clip" + i;
    var smokeIndex:int = i % 2;
    var smokeClass:Class = getDefinitionByName("mc.smoke0" + smokeIndex) as Class;
    var smokeInstance:MovieClip = new smokeClass();
    clip.addChild(smokeInstance);
    smokeInstance.x = _xposicion;
    smokeInstance.y = _yposicion;
    smokeInstance.alpha = 60;
    smokeInstance.scaleX = smokeInstance.scaleY = Math.random() * 1.5;
    clip["const"] = Math.random() * 50;
}
 
addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
function onEnterFrame(event:Event):void {
    for (var i:int = 0; i < densidad; i++) {
        var clip:MovieClip = getChildByName("clip" + i) as MovieClip;
        clip.y += (0 - clip.y) / clip["const"];
        clip.alpha += (0 - clip.alpha) / clip["const"];
        clip.rotation += i * 0.5;
        clip.scaleX = clip.scaleY += (1.5 - clip.scaleY) / 10;
    }
    for (var i:int = 0; i < densidad; i++) {
        var clip:MovieClip = getChildByName("clip" + i) as MovieClip;
        if (clip.alpha < 10) {
            clip.x = _xposicion;
            clip.y = _yposicion;
            clip.alpha = 50;
            clip.scaleX = clip.scaleY = 0;
            clip["const"] = 20 + Math.random() * 50;
        }
    }
}

Este código convierte el código AS2 proporcionado a AS3. Ten en cuenta que se han realizado los siguientes cambios:

1. Utilización de la sintaxis y convenciones de nomenclatura de ActionScript 3.
2. Reemplazo de la función onEnterFrame por un evento Event.ENTER_FRAME.
3. Uso de la clase MovieClip en lugar de la propiedad _root.
4. Reemplazo de attachMovie por addChild y new MovieClip().
5. Reemplazo de getURL por otras técnicas de navegación web en AS3.
6. Utilización de la función getDefinitionByName para obtener la clase de la animación "smoke" dinámicamente.

Espero que esto te sea útil y te ayude a migrar tu código de AS2 a AS3. ¡Buena suerte con tu proyecto!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar