Comunidad de diseño web y desarrollo en internet online

como hacer que se mueva...

Citar            
MensajeEscrito el 12 Dic 2006 12:37 am
Me podrian explicar o dar un link sobre como hacer que un MC se mueva apretando las flechas de movimiento?

Por oxodunk

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Dic 2006 05:24 am
en el clip de pelicula debes poner algo asi:

Código :

onClipEvent(enterFrame){
if(Key.isDown(Key.LEFT)){
this._x -=1;
}
}
onClipEvent(enterFrame){
if(Key.isDown(Key.RIGHT)){
this._x +=1;
}
}
onClipEvent(enterFrame){
if(Key.isDown(Key.DOWN)){
this._Y +=1;
}
}
onClipEvent(enterFrame){
if(Key.isDown(Key.UP)){
this._y -=1;
}
}

Por erny_2004

Claber

166 de clabLevel



Genero:Masculino  

Morelia, Michoacan

firefox
Citar            
MensajeEscrito el 12 Dic 2006 02:38 pm
Si preferís hacerlo en el fotograma (Por ejemplo, en AS3 ya no se puede escribir en símbolos), sería así:

Código :

onEnterFrame = function () {
if (Key.isDown (Key.LEFT)) {
NombreMC._x -= 1;
}
};


Este código varía la posición de un clip "NombreMC", obviamente, podés poner cualquier nombre. Hice sólo el movimiento hacia la izquierda porque todos tienen la misma mecánica.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 12 Dic 2006 09:31 pm
gracias, ahora tengo otra duda como puedo hacer que el mc que hice que se mueva no pase alguna linea que yo haya dibujado?

Por oxodunk

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Dic 2006 01:29 pm
Bueno, usás condicionales.

Supongamos que la línea es una línea vertical de la altura de la pantalla en la posición x=100.

El MC tiene 50 píxeles de ancho. Entonces, para que no se pase de la línea (ni se encime) su posición máxima en x (vamos a suponer que se mueve de izquierda a derecha) es igual a 100 - 50/2

Veamos el código, suponiendo que el MC se halla a la izquierda de una línea en x=100.

Código :

onEnterFrame = function () {
if (Key.isDown (Key.RIGHT) && nombreMC._x < 100 - (nombreMC._width / 2)) {
nombreMC._x++;
}
};


Ahora bien, eso no es todo, porque dependiendo de la posición inicial del MC, puede llegar a superponerse con la línea (si no entendés porqué, confiá en mí, puede pasar)

Eso podrías solucionarlo fácilmente con un if. Bueno, dentro del enterFrame, después del if, va esto:

Código :

if (nombreMC._x > 100 - (nombreMC._width / 2)) {
nombreMC._x = 100 - (nombreMC._width / 2);
}


Recordá que esto presupone que la línea no tiene ancho

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie

 

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