Comunidad de diseño web y desarrollo en internet online

juego plataformas, problema.

Citar            
MensajeEscrito el 18 Jul 2009 11:01 pm
hola, bueno este es mi problema estoy haciendo un juego de plataformas (como mario) lo estoy trabajando con sprites y todo, el problema surge cuando al andar el personaje se mueve pero no corre la animacion de cuando camina, acontinuacion el codigo como lo estoy usando:

Código :

onClipEvent (enterFrame) {
   if (Key.isDown(Key.RIGHT)) {
      _x += correr;
      gotoAndPlay("corre");
   }
}



todas la animaciones del personaje corren en un solo clip, estan separadas por capas y tienen su propio nombre de instancia. etc.

gracias de antemano por su colaboracion, realmente la necesito

PD: este hilo lo habia hecho en el foro de diseño>flash asi que lo paso aqui que es donde corresponde XD

Por crisaptor

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Jul 2009 12:35 am
y correr tiene valor?? -_- jaja, pues eso esta bien escrito, o si no, ponle this._x si is :)

Por el davo29

253 de clabLevel



Genero:Masculino  

Chihuahua :D!

msie8
Citar            
MensajeEscrito el 19 Jul 2009 06:22 pm
sip,esto es lo que he hecho( bueno parte del codigo)

Código :

onClipEvent (load) {
   var vel:Number = 0;
   var grav:Number = 0;
   var correr:Number = 9;
   var caer:Number = 0;
   var salto:Boolean = false;
   var altura:Number = 20;
   var tocapiso:Boolean = false;
   var scale:Number = _xscale;
}
onClipEvent (enterFrame) {
   if (Key.isDown(Key.RIGHT)) {
      _x += correr;
      gotoAndPlay("corre");
   }
}

pero el problema surge cuando al correr el juego, si presiono la teclar para "correr" el MC se mueve pero se queda en el fotograma que inicia "corre" ( q es el nombre de instancia que le di al fotograma) y pues la animacion de que camina simplemente no se reproduce.

Por crisaptor

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2009 05:47 pm

crisaptor escribió:

pero el problema surge cuando al correr el juego, si presiono la teclar para "correr" el MC se mueve pero se queda en el fotograma que inicia "corre" ( q es el nombre de instancia que le di al fotograma) y pues la animacion de que camina simplemente no se reproduce.

Has comprobado que la animación de correr está como MovieClip y no como Gráfico? (por si acaso, es bueno descartar todos los factores)
Otra solución es que le dieras un nombre de instancia a la animación de correr (ejemplo: corre_mc), y en el fotograma de correr le pondrías

Código ActionScript :

this.corre_mc.play()


Si tienes alguna duda o sigue sin funcionar, avisa ;)

Por nestorrente

1010 de clabLevel

10 tutoriales

 

Vigo

firefox
Citar            
MensajeEscrito el 21 Jul 2009 06:41 pm
Hola,
Yo creo que el problema está en el planteamiento de la función enterFrame que has hecho. Tal y como está, al entrar en el fotograma, si dejas pulsado el cursor derecho siempre se reproducirá el fotograma con la etiqueta "corre" y se moverá, pero no se reproducirán los siguientes, porque en cada enterFrame le dices que empiece a reproducir desde ese fotograma. Para solucionarlo yo usaría una variable auxiliar que te diga si acabas de pulsar el cursor, o si es que lo has dejado pulsado. Ejemplo:

Código ActionScript :

onClipEvent (load) {
   ...
   var rPressed:Boolean = false;
}

onClipEvent (enterFrame) {
   if (Key.isDown(Key.RIGHT)) {
      _x += correr;
      if (rPressed == false) gotoAndPlay("corre");
      rPressed = true;
   } else {
      rPressed = false;
   }
}

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Ago 2009 08:05 pm
hey, muchas gracias por su ayuda, las prove y al final quedo el codigo de esta manera:

Código :

//variables
onClipEvent (load) {
   var vel:Number = 0;
   var correr:Number = 10;
   var grav:Number = 0;
   var gravedad:Number = 2;
   var callendo:Number = 0;
   var saltoo:Boolean = false;
   var altura:Number = -30;
   var tocaPiso:Boolean = false;
   var piso:MovieClip = _root.piso
}
//gravedad
onClipEvent (enterFrame){
   _y += grav;
   grav += gravedad;
   while (piso.hitTest(_x,_y, true)){
      _y -= gravedad;
      grav = 0;
   }
   if (piso.hitTest(_x,_y+5, true)){
      tocaPiso = true
   }else{
      tocaPiso = false;
   }
}
//movimiento hacia la derecha
onClipEvent (enterFrame) {
   if (Key.isDown(Key.RIGHT)) {
      this._x += correr;
      this._xscale = 100;
      this.gotoAndStop(2);
   }
// nota: lo dejo casi completo para quien quiera usarlo y le sirva que se que hay muchos que buscan estas cosas en internet :)


ok, la cosa es que puse en el MC del personaje 3 fotogramas, y en cada fotograma hay un MC con la animacion de cada cosa, asi, aunque haga gotoAndStop en un fotograma se ve la animacion que quiero, y todo ya va bien hay, cuado corre perfecto pero ahora tengo otro problema.. lo pongo abajo para que no canse la vista tanto texto.

el problema es en el salto: al saltar tambn deve correr una animacion, cuando salta sin moverse en el aire va bn y se ve la animacion ( como dije antes la animacion es un MC en un fotograma) pero al moverse en el aire no corre al fotograma q debe, se queda en el primero ( jaja casi el mismo problema que tenia antes) aqui esta el codigo:

Código :

// salto: listo 100%
onClipEvent (enterFrame) {
   if (Key.isDown(Key.UP) && tocaPiso) {
      grav += altura;
      gotoAndStop(3);
   }
   if ((Key.isDown(Key.UP)) and (Key.isDown(Key.RIGHT))) {
      this.gotoAndStop(3);
   }
   if ((Key.isDown(Key.UP)) and (Key.isDown(Key.LEFT))) {
      this.gotoAndStop(3);
   }
   if ((!Key.isDown(Key.UP)) and (!tocaPiso)) {
      this.gotoAndStop(3);
   } else if ((!Key.isDown(Key.UP)) and (!tocaPiso)) {
      this.gotoAndStop(3);
   }
   if ((_currentframe == 3) and (tocaPiso)) {
      gotoAndStop(1);
   }
}


grax de ante mano, espero no sea mucho :)

Por crisaptor

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Abr 2011 10:49 pm
Hola, disculpen, estaba checando los codigos.. Me podrian decir porfavor para que sirve la variable boolean? o para que la estas usando y como funciona?

Muchas gracias.

Saludos!!

Por Nato_Kohanim

160 de clabLevel



Genero:Masculino  

Editor, Programador y Bloggero

chrome
Citar            
MensajeEscrito el 29 May 2011 06:55 am
No tuve tiempo de leer todos los comentarios... pero responderé de todos modos, intenta clocarle un stop(); a los fotogramas del tu sprite... y al parecer en el primer código que pusiste vi un gotoAndPaly cuando debería ser un Stop... en el de "corre"

Por ZtrikerZ

6 de clabLevel



Genero:Masculino  

Diseñador Gráfico Mx

firefox
Citar            
MensajeEscrito el 29 May 2011 06:57 am
Además es mejor separa las animaciones con fotogramas en vez de colocarlas todas en un mismo movieclip separado por capas... además de colocarles su Stop correspondiente

Por ZtrikerZ

6 de clabLevel



Genero:Masculino  

Diseñador Gráfico Mx

firefox

 

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