Comunidad de diseño web y desarrollo en internet online

Bloquear movimiento de un objeto al presionar cierta tecla

Citar            
MensajeEscrito el 11 Jun 2011 12:52 am
Buenassss.

Iré al grano.

Tengo un script que cuando presionas la tecla UP el objeto se mueve hacia delante, con la tecla DOWN y RIGHT el objeto rota, y con DOWN el objeto va hacia atras. Tambien al final, dice que cuando tocas un objeto con nombre de instancia "land" este deja de moverse hacia el lado que lo toca.

Ya explicado, les dejo el código:

Código :

onClipEvent(load){ 
speed = 0; 
} 
onClipEvent (enterFrame) { 

if (Key.isDown(Key.UP)) { 
speed += 0.2; 
} 
if (Key.isDown(Key.DOWN)) { 
speed += -0.1; 
} 
if (Math.abs(speed)>10) { 
speed *= .6; 
} 
if (Key.isDown(Key.LEFT)) { 
_rotation -= 3; 
} 
if (Key.isDown(Key.RIGHT)) { 
_rotation += 3; 
} 
speed *= .98; 
x = Math.sin(_rotation*(Math.PI/180))*speed; 
y = Math.cos(_rotation*(Math.PI/180))*speed*-1; 
if (!_root.land.hitTest(_x+x, _y+y, true)) { 
_x += x; 
_y += y; 
} else { 
speed *= -.6; 
} 
} 


Bien, he intentado e intentado sin tener un golpe de suerte.

Quiero que cuando presione la tecla DOWN (abajo) se bloqueen los movimientos de las teclas laterales, es decir, la rotación.

En pocas palabras, cuando vaya hacia atrás no pueda girar a los lados, solo pueda girar si voy acelerando (presionando tecla UP)

Alguien tan amable y con mas conocimiento que yo me podría explicar como modificarlo y si es posible, el resultado?. :)

Antes que nada, un ejemplo de como esta actualmente con los códigos que deje antes:




Gracias! saludetes.

Por Nsd

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2011 06:16 pm
Hola Nds, si quieres que solo puedas girar cuando la tecla UP esté presionada, puedes hacerlo de la siguiente forma:

if (Key.isDown(Key.LEFT)) {
if (Key.isDown(Key.UP)) {
_rotation -= 3;
}
}

if (Key.isDown(Key.RIGHT)) {
if (Key.isDown(Key.UP)) {
_rotation += 3;
}
}

Así cuando presionas alguna tecla lateral, te aseguras que la tecla de arriba también esté presionada para que gire, de lo contrario no hace nada...

Un saludo y espero que te sirva...

Por mishesblog

23 de clabLevel



Genero:Masculino  

Blog Diseño Latinoamericano

chrome
Citar            
MensajeEscrito el 11 Jun 2011 11:36 pm
mishesblog, gracias hermano, te debo una!

Por Nsd

3 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jun 2011 11:39 pm
Con mucho gusto! Me gustaría ver el carrito cuando lo termine... Es para un juego? o solo por aprender?

Por mishesblog

23 de clabLevel



Genero:Masculino  

Blog Diseño Latinoamericano

chrome
Citar            
MensajeEscrito el 12 Jun 2011 05:39 pm
Es para un juego y también para aprender, tengo aspiraciones de programación y diseño, y para mi, esta es una manera de aprender y practicar, cuando lo termine lo haré publico para que opinen.

Por Nsd

3 de clabLevel



 

chrome

 

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