Comunidad de diseño web y desarrollo en internet online

mover un objeto graficado por una clase...

Citar            
MensajeEscrito el 13 May 2008 04:34 pm
Hola, espero que estén bien, les cuento mi problema.
Estoy intentando hacer un pequeño juego, estoy programando la parte básica, pero tengo problemas con una clase. Lo que hace mi clase es llevar un objeto llamado “jugador_mc” al escenario con attachMovie(); y después de crearlo hago unos métodos para mover ese clip de película con el teclado, el problema es que no sé como hacer para mover las x e y del objeto, no se como hacer referencia al objeto… o clip de película mas bien.

Aquí dejo el código.

Código :

dynamic class Jugador extends MovieClip{

   var nombre:String;
   var id:Number;
   var sesion:Number;
   var barra:Number;
   var po_x:Number;
   var po_y:Number;
   var mobilidad:Number;// cuadros que se movera el jugador
   var velosidad:Number;// posibilidad de actualizacion en miliSegundos   
   
   // Constructor
   function Jugador(Nnombre:String,Nid:Number,Nsesion:Number,Nbarra:Number,Npo_x:Number,Npo_y:Number,Nvelosidad:Number){
      nombre      = Nnombre;
      id        = Nid;
      sesion     = Nsesion;
      barra     = Nbarra;
      po_x     = Npo_x;
      po_y     = Npo_y;
      mobilidad = 1;
      velosidad = Nvelosidad;
   }   
   
   // Metodo para graficarlo
   function Graficar():Void{
      _root.attachMovie(\"jugador_mc\", nombre, _root.getNextHighestDepth(), {_x:po_x, _y:po_y});
   }   
   
   //Movimientos
   function bajar():Void      { nombre._y = nombre._y + (mobilidad*(36)); }
   
   function subir():Void      { nombre._y = nombre._y - (mobilidad*(36)); }
   
   function izquierda():Void   { nombre._x = nombre._x - (mobilidad*(144)); }
   
   function derecha():Void      { nombre._x = nombre._x + (mobilidad*(144)); }

}


Es en los metodos bajar(), subir, derecha(), izquierda() es donde no se como hacerlo…

La idea es hacer esto en el flash:

Código :

var Player:Jugador = new Jugador(\"Diego\",10,12435,1000,1,2,20);
Player.Graficar();

Player.subir();


Pero obviamente no funciona.

Espero puedan darme alguna pista :)

Por soma

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 May 2008 06:07 pm
Agrega esta variable al principio de tu clase

var miJugador:MovieClip

Luego cambia en el attach (lo cambio a minúscula porque por convención los nombres de métodos no van en mayúscula)

Código :

function graficar():Void{
     miJugador = _root.attachMovie(\"jugador_mc\", nombre, _root.getNextHighestDepth(), {_x:po_x, _y:po_y});
}   


Luego en bajar-subir-izq-der cambia nombre por miJugador

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 May 2008 03:14 am
Y eso no afectaria la posibilidad de crear mas de un Jugador y manejarlos independientemente?

Por soma

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 May 2008 10:36 am
Por supuesto, si quieres más de un jugador esta mecánica no sirve. Debes agregar tantas variables como jugadores quieras y luego usar uno u otro según que tecla se haya pulsado

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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