Comunidad de diseño web y desarrollo en internet online

ayuda al realizar un mario :S

Citar            
MensajeEscrito el 10 Sep 2007 09:05 pm
Hola amigos llevo semanas luchando por sacar un mario por delante y no lo consigo. Aqui pongo lo que se hacer y lo que no.
Se hacer:
-darle movimiento al personaje
- limites de pantalla
-coger objetos
-cuenta atras
No se hacer:
1- hacer que el muñeco salte, porque porjemplo el digo que cuando l doy al espacio suva Y pero mientras cae si le doy d enuevo a salto salta de nuevo y solo quiero que salte una vez y caiga al suelo.

Creo que ese es mi mayor problema el salto.
Alguien me ayuda? gracias amigos!! :cry:

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Sep 2007 09:15 pm

Código :

if(mario._y == lmiteInferior){ //Si Mario está en el suelo
         ...el código que usas para el salto...
}

Así sólo saltará cuando esté en el "suelo" y no cuando esté más arriba.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 10 Sep 2007 09:28 pm
No me sale bien el codigo del salto ese es el problemâ:(

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Sep 2007 09:37 pm
Postea el código a ver...

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 10 Sep 2007 11:10 pm
aver yo lo ke ago es esto, pongo ke cuando presiono la flecha derecha va ala drecha x=10; lo mismo con la flecha izquierda x=-10 , en el salto pongo y=10, pero antes pongo que el muñeco caiga a y=-10. Todo el rato cae el muñeco, pero si l doy arriba pulsado no kae, o kiero ke aga un salto sencillo, algun metodo para ke salte gracias gente.

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Sep 2007 11:45 pm
La verdad es que no entendí nada. ¿Podrías explicarlo mejor?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 11 Sep 2007 03:57 pm

keyzero86 escribió:

aver yo lo ke ago es esto, pongo ke cuando presiono la flecha derecha va ala drecha x=10; lo mismo con la flecha izquierda x=-10 , en el salto pongo y=10, pero antes pongo que el muñeco caiga a y=-10. Todo el rato cae el muñeco, pero si l doy arriba pulsado no kae, o kiero ke aga un salto sencillo, algun metodo para ke salte gracias gente.


En principio no creo que uses x=10 y todas esas con el mismo sistema porque entonces no funcionaría, en todo caso x+=10. Por otra parte creo que tu problema reside en que el muñeco salta esté saltando ya o no. No se si es que no viste el código de Herr C. Von Frick pero es eso lo que necesitas, verificar si el muñeco está en el suelo, y si lo está que salte

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 15 Sep 2007 11:56 am
Haver eso lo agop, pero tengo mas dudas. Cuando salta el muñeco le digo ke se desplace Y acia arriba a 10. y luego ago ke caiga asta k toke el suelo y para. Pero de esta manera que lo ago solo salta vertical no salta ni palante ni patras como mario. Y otra dudilla que tenia, porque cuando creo un clip, y le doy un nombre de instancia y por ejemplo dibujo 2 plataformas con un espacio vacio en medio, el muñeco nose cae y lo detecta como suelo nose si m explico bien. :cry:

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 15 Sep 2007 12:01 pm
Con que salte para los lados me imagino que te refieres en diagonal, para eso usas el objeto Key y un IF para mover el personaje hacia los lados, así esté saltando o no, como el mario. Para lo de las 2 plataformas.... creo que vas a tener que hacer cada plataforma por separado, es uno de los principales inconvenientes de hitTest (imagino que usarás hitTest)

Saludos ;)

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 15 Sep 2007 12:04 pm
sip utilizo hit test, soy novato jeje me recomiendas otro comando?
y el muñeco ago que se mueva alos laterales entonces para hacer el salto diagonal le tengo k tmb dar un valor de X y Y no? :lol:

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 15 Sep 2007 12:14 pm
No a ver. Para el salto tienes que hacer la función que comprueba si está saltando player (vamos a llamar player al mario). Si no está saltando que cierta variable sea -10, por ejemplo, y en un onEnterFrame le aumentas el Y a player con el valor de dicha variable. A la vez, esta variable la aumentas para que no siempre suba hacia arriba y se frene y después baje poco a poco.

Eso para el salto vertical, ahora, se supone que el muñeco se puede mover siempre hacia los lados, entonces no hace falta comprobar nada, tan solo comprobar continuamente si se están pulsando las teclas izquierda o derecha para reducir y aumentar el X respectivamente. También puedes usar listener pero creo que de esta forma te quedará mejor.

Ahora te posteo un código, no se si te habrá quedado muy claro esto.


Saludos ;)

Por infernalpr

236 de clabLevel



 

LoL

firefox
Citar            
MensajeEscrito el 15 Sep 2007 12:38 pm
Te agredeceria mucho el codigo jejej que m estoy volviendo un poko loko, a por cierto muchas gracias^^

Por keyzero86

15 de clabLevel



 

msie7
Citar            
MensajeEscrito el 15 Sep 2007 02:17 pm
En fin, ya he acabado el código (por fin) y bueno, le he puesto algunas cosas que creo que me han quedado bien. Bueno, ahí va el código.

Código :

//Variables para el movimiento
var playerXvel:Number = 0;
var playerYvel:Number = 0;
var easing:Number = 0.4
var maxVel:Number = 6
var limiteinferior:Number = 300
var gravedad:Number = 0.4
onEnterFrame = function () {
   player._x += playerXvel;
   player._y += playerYvel
   //Movimiento con easing, me gusta complicarme, lo sé XD
   if (Key.isDown(Key.LEFT)) {
      playerXvel -= easing
   }
   if (Key.isDown(Key.RIGHT)) {
      playerXvel += easing
   }
   if (playerXvel > maxVel) {
      playerXvel = maxVel
   } if (playerXvel <-maxVel) {
      playerXvel = -maxVel
   }
   if (Key.isDown(Key.RIGHT) == false && Key.isDown(Key.LEFT) == false && playerXvel <=0) {
      playerXvel+=easing
      if (playerXvel > 0) {
         playerXvel=0
      }
   } 
   if (Key.isDown(Key.RIGHT) == false && Key.isDown(Key.LEFT) == false && playerXvel >=0) {
      playerXvel-=easing
      if (playerXvel < 0) {
         playerXvel=0
      }
   } 
   //Salto
   if (Key.isDown(Key.UP)&& player._y >= limiteinferior) {
      playerYvel= -10
   }
   if (player._y >= limiteinferior) {
      player._y=limiteinferior
   } else {
      playerYvel+=gravedad
   }
   //Colisión con las plataformas
   if (player.hitTest(this.plataforma1) && playerYvel >0 &&player._y  <= plataforma1._y) {
      playerYvel=0
      limiteinferior = player._y
   } else {
      if (player.hitTest(this.plataforma2) && playerYvel >0 &&player._y<= plataforma2._y) {
         playerYvel=0
         limiteinferior = player._y
      } else {
         limiteinferior = 300
      }
   }
};


Si quieres que te mande el FLA para que te quede mas claro pídemelo por MP

Por infernalpr

236 de clabLevel



 

LoL

firefox

 

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