Comunidad de diseño web y desarrollo en internet online

Rebote en las paredes con hitTestObject

Citar            
MensajeEscrito el 23 Ago 2012 05:25 pm
hola amigos hace poco hice un juego donde logre hacer que el personaje rebotara en las paredes tengo muy poco conocimiento de actionscript 3 pero con algo de creatividad lo pude hacer el código quedo así:

Código ActionScript :

personaje.addEventListener(Event.ENTER_FRAME, pegaarriba);
personaje.addEventListener(Event.ENTER_FRAME, pegaabajo);
personaje.addEventListener(Event.ENTER_FRAME, pegaizquierda);
personaje.addEventListener(Event.ENTER_FRAME, pegaderecha);

function pegaarriba(evt:Event):void
{
   if(personaje.hitTestObject(pared1))
     {        
      personaje.y++;
     personaje.y++;
     personaje.y++;
     personaje.y++;
     personaje.y++;
     personaje.y++;
     personaje.y++;
   }
}
function pegaabajo(evt:Event):void
{
   if(personaje.hitTestObject(pared3))
     {        
      personaje.y--;
     personaje.y--;
     personaje.y--;
     personaje.y--;
     personaje.y--;
     personaje.y--;
     personaje.y--;
   }
}
function pegaizquierda(evt:Event):void
{
   if(personaje.hitTestObject(pared2))
     {        
      personaje.x++;
     personaje.x++;
     personaje.x++;
     personaje.x++;
     personaje.x++;
     personaje.x++;
     personaje.x++;
   }
}
function pegaderecha(evt:Event):void
{
   if(personaje.hitTestObject(pared4))
     {        
      personaje.x--;
     personaje.x--;
     personaje.x--;
     personaje.x--;
     personaje.x--;
     personaje.x--;
     personaje.x--;
   }
}


¿ahora mi duda es hay una forma mas sencilla de hacerlo?
¿tienen algún tutorial que me pueda ayudar a simplificar mi programación?

desde ya gracias :)

Por sidentelrgamer

61 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Ago 2012 06:33 pm
Una optimización bastante rápida: en vez de escribir 7 veces

personaje.y++;

Escribes

personaje.y+=7;

6 líneas por 4 bloques, te ahorras 24 líneas. Tu siguiente paso es usar un vector de velocidad e invertir uno de los componentes, incluso siguiendo el {angulo con un poco de trigonometría. Mirate por ejemplo http://www.flashandmath.com/intermediate/animation/index.html

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Ago 2012 07:42 pm
muy muy interesante soliarg creo que así aun mas entiendo de lo que me dices :) ahora intento hacer un laberinto el personaje sera un circulo y con esto se podría hacer pero no quedaría tan fluida eh escuchado sobre los array pero no encuentro una guía completa no se si tengas alguna que me puedas proporcionar :)

Gracias

Por sidentelrgamer

61 de clabLevel



 

chrome
Citar            
MensajeEscrito el 23 Ago 2012 07:45 pm
¿Quieres programar un juego y 'haz escuchado de los arrays' ?
Me suena a quiero correr en formula 1 pero no se manejar.
Aquí hay tutos de juegos en general, muchos de técnicas básicas, otros mas complejos
http://gotoandplay.it/
Aquí cosas mas elaboradas http://gaming.adobe.com/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Ago 2012 07:54 pm
si como digo apenas ando aprendiendo y quería aprender lo de los array bien gracias

Por sidentelrgamer

61 de clabLevel



 

chrome

 

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