Foros del Web » Creando para Internet » Flash y Actionscript »

Problemillas al pasar de AS2 a AS3

Estas en el tema de Problemillas al pasar de AS2 a AS3 en el foro de Flash y Actionscript en Foros del Web. Estoy intentado pasar un codigo de ActionScript2 a ActionScript3.El problema es que se poco de AS3 y nada de AS2.Lo que he estado haciendo es ...
  #1 (permalink)  
Antiguo 13/08/2009, 05:38
 
Fecha de Ingreso: mayo-2007
Mensajes: 23
Antigüedad: 17 años, 5 meses
Puntos: 0
Problemillas al pasar de AS2 a AS3

Estoy intentado pasar un codigo de ActionScript2 a ActionScript3.El problema es que se poco de AS3 y nada de AS2.Lo que he estado haciendo es actualizar todos los errores que me ha dado el compilador por el cambio de version con la ayuda de adobe y demas foros,pero no funciona nada.Los eventos creo que estan bien,el problema viene con la declaracion de variables.

Se que no es duda concreta y que quizas es mucho codigo,pero ahora mismo estoy desesperado

Aqui les dejo los dos codigos,y a ver si me pueden concretar algun fallo gordo.
Solamente hay un clip en el escenario.

En AS2

Codigo en el fotograma 1 de la escena principal:

_root.magnet = 500;
_root.magic = 10;


Codigo dentro del clip:

onClipEvent (load)
{
homex = this._x;
homey = this._y;
forcex = 1;
forcey = 1;
}
onClipEvent (enterFrame)
{
x0 = this._x;
y0 = this._y;
x1 = this._xmouse;
y1 = this._ymouse;
distancex = x1 - x0;
distancey = y1 - y0;
distance = Math.sqrt(distancex * distancex + distancey * distancey);
powerx = this._x - distancex / distance * _root.magnet / distance;
powery = this._y - distancey / distance * _root.magnet / distance;
forcex = (forcex + (homex - x0) / 2) / _root.magic;
forcey = (forcey + (homey - y0) / 2) / _root.magic;
this._x = powerx + forcex;
this._y = powery + forcey;


Mi actualizacion a AS3 :

package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;

public class Main extends MovieClip {
public function Main() {

pol1.addEventListener(Event.RENDER, coordenadas);
function coordenadas(event:Event){
var homex : Number = pol1.DisplayObject.x;
var homey : Number = pol1.DisplayObject.y;
var forcey : Number = 1;
}

pol1. addEventListener ( "enterFrame", distancia);
function distancia ( e : Event ) : void
{
var homex : Number = pol1.DisplayObject.x;
var homey : Number = pol1.DisplayObject.y;
var magnet:Number = 500;
var magic:Number = 10;
var x0 : Number = pol1.DisplayObject.x;
var y0 : Number = pol1.DisplayObject.y;
var x1 : Number = pol1.DisplayObject.mouseX;
var y1 : Number = pol1.DisplayObject.mouseY;
var distancex : Number = x1 - x0;
var distancey : Number = y1 - y0;
var distance:uint = Math.round(distancex * distancex + distancey * distancey);

var powerx : Number = this.DisplayObject.x - distancex / distance * magnet / distance;
var powery : Number = this.DisplayObject.y - distancey / distance * magnet / distance;
var forcex :uint = Math.round(forcex + (homex - x0) / 2) / magic;
var forcey :uint = Math.round(forcey + (homey - y0) / 2) / magic;
this.DisplayObject.x = powerx + forcex;
this.DisplayObject.y = powery + forcey;
}
}
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:35.