Comunidad de diseño web y desarrollo en internet online

Problema con MovieClip

Citar            
MensajeEscrito el 21 Jul 2010 05:31 pm
Hola a todos,
hace mucho que no entraba por acá, ya que el destino me llevó a otros lenguajes :P

Ahora, estoy tratando de volver a recordar AS3, pero se me ha hecho más difícil de lo que pensé. O sea, me he tardado tanto haciendo lo siguiente :cry: :

Estoy tratando de mover un mc llamado mc2, mi código en el frame 1 es el que sigue...

Código ActionScript :

import flash.events.KeyboardEvent;
import miCodigo.MiClase;

var mover:MiClase = new MiClase();

stage.addEventListener(KeyboardEvent.KEY_DOWN, movimiento);
var speed:int = 1;
var acc:Number = 0.0;
function movimiento(event:KeyboardEvent):void { 
    acc += .2;
    if(event.keyCode == Keyboard.LEFT){
        mc2.x -=speed + acc;
    }
    if(event.keyCode == Keyboard.RIGHT){
       mover.moverDerecha();
    }
    if(event.keyCode == Keyboard.UP){
        mc2.y -=speed + acc;
    }
    if(event.keyCode == Keyboard.DOWN){
        mc2.y +=speed + acc;
    }
}


Todo funciona perfectamente cuando no pongo esto:
mover.moverDerecha();

Mi código en MiClase es el que sigue...

Código ActionScript :

package miCodigo{
   import flash.display.MovieClip; 
   public class MiClase extends MovieClip{   
      public function moverDerecha():void{
         mc2.x +=1;
      }
      
   }
}


El error que me arroja es este:
Acceso a una propiedad mc2 no definida

¿Qué podrá ser? Me falta algo muy simple ¿Verdad?

Ok, de antemano, gracias ^^

Saludos!

Por marhabed

1 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 21 Jul 2010 05:48 pm
No sé cómo editar lo de arriba, pero, ya quedó!!! :)

O sea, lo único que tuve que hacer fue mandarle el objeto
Así :

Código ActionScript :

import flash.events.KeyboardEvent; 
import miCodigo.MiClase; 
 
var mover:MiClase = new MiClase(); 
 
stage.addEventListener(KeyboardEvent.KEY_DOWN, movimiento); 
var speed:int = 1; 
var acc:Number = 0.0; 
function movimiento(event:KeyboardEvent):void {  
    acc += .2; 
    if(event.keyCode == Keyboard.LEFT){ 
        mc2.x -=speed + acc; 
    } 
    if(event.keyCode == Keyboard.RIGHT){ 
       mover.moverDerecha(mc2);   //Acá le mando el objeto
    } 
    if(event.keyCode == Keyboard.UP){ 
        mc2.y -=speed + acc; 
    } 
    if(event.keyCode == Keyboard.DOWN){ 
        mc2.y +=speed + acc; 
    } 
} 

//MiClase.as

package miCodigo{ 
   import flash.display.MovieClip;  
   public class MiClase extends MovieClip{    
      public function moverDerecha(mc2:Object):void{ //Aquí lo recibo
         mc2.x +=1; 
      } 
       
   } 
} 



Pues bueno, muchas gracias de todas formas :D
Saludos!!!

Por marhabed

1 de clabLevel



Genero:Masculino  

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.