Foros del Web » Creando para Internet » Flash y Actionscript »

Problema para mover MC con AS

Estas en el tema de Problema para mover MC con AS en el foro de Flash y Actionscript en Foros del Web. Hola a todos!!! estoy teniendo el siguiente problema qeu me come la cabeza!! Esto armando una web que es una gran tira horizontal, tengo mi ...
  #1 (permalink)  
Antiguo 18/10/2010, 10:37
Avatar de Yermanyer  
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta Problema para mover MC con AS

Hola a todos!!!
estoy teniendo el siguiente problema qeu me come la cabeza!!

Esto armando una web que es una gran tira horizontal, tengo mi MC "tira" qeu es donde todo ocurre. y unos botones que desplazan a "tira" a la coordenada x que le indico con un bello efecto easing ..

onClipEvent (enterFrame) {
_x += (x-_x)*0.2;
}

y los botones tienen el siguiente codigo.. por ej.
on(press){
tira.x=-700;
}

Perfecto!! anda joya!..

Ahora.. yo ademas quiero que pulsando las flechas del teclado esta tira se mueva hacia la derecha o hacia la izquierda.. entontré esto:

on(keyPress "<Left>"){
tira._x-=20;
}

Tengo 3 problemas.

1- funciona, pero si antes pulso algun boton de los que mueven "tira" a determinada coordenada, siempre vuelve a esa coordenada. Como que aunque al clikear la flecha izq yo le estoy diciendo que se mueva sigue prevaleciendo la orden del boton que clikié antes y se queda en esa coordenada.. se entiende??

2 - necesito ponerle un tope al movimiento, es decir que cuando tira llega a determinado valor de x no se mueva mas (tanto para la izq como para la derecha)

3- me gustaría que se mueva con el easing pero no me lo respeta


auxilioooooo!!


muchas graciasssss de antemano!!

un abrazo!
  #2 (permalink)  
Antiguo 18/10/2010, 12:59
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Problema para mover MC con AS

Hola Yermanyer:
Todo depende del ancho que tiene la tira y del tamaño del escenario que estás usando.
Vamos con un ejemplo:
Supongamos que tenemos un escenario de 550 de ancho y una tira de ancho 973, lo colocamos en el escenario en las coordenadas x = 0 e y = 100, en los botones iría los siguiente códigos:
botón_izq:
Código actionscript:
Ver original
  1. on(press){
  2. tira.x=-200;
  3. }
botn_der:
Código actionscript:
Ver original
  1. on(press){
  2. tira.x=+250;
  3. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 18/10/2010, 13:25
Avatar de Yermanyer  
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema para mover MC con AS

Hola bandit!, como va?'. antes qeu nada muchas gracias por tu tiempo en responderme! groso..!

eso esta bien es la funcion que le puse a los botones,
on(press){
tira.x=-700;
}

le dice qeu ubique a tira en esa coordenada específica... yo lo que necesito es una accion que le diga que ubique a tira x cantidad de pixels mas a la derecha o a la izquierda desde la ubicación en donde se encuentre. y encontré esta funcion
on(press){
tira._x-=20;
}


el tema es que si yo antes le di la orden de que se ubique por ej. en x= -700 al decirle qeu se mueva 20 pixeles mas a la derecha o a la izquierda, se mueve, pero inmediatamente vuelve a la posicion x= -700. sigue mandando la otra accion... se entiende algo??
  #4 (permalink)  
Antiguo 18/10/2010, 15:57
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Problema para mover MC con AS

Si tú quieres que retroceda 20 píxeles y le pones éste código:
on(press){
tira._x-=20;
}
no conseguirás tu cometido, lo que tendrás que modificar ésta parte del código: tira._x-=20;, en la cual el valor sería 680 de ese modo regresará solamente los 20 píxeles.
No te olvides que el desplazamiento es en relación al punto de registro del MC.

Espero haberte sido de ayuda y haya entendido tu problema.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 19/10/2010, 05:31
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Problema para mover MC con AS

Hola
bueno, creo que tu problema es
no usar validaciones o ubicación del código

porque?
bueno, pues por ej aquí inicialmente tienes esto

on(press){
tira.x=-700;
}

luego esto
on(press){
tira._x-=20;
}


pregunto algo, estos dos códigos estan en un mismo botón o movieclip???

ahora, luego dices que
"se ubique por ej. en x= -700 al decirle qeu se mueva 20 pixeles mas a la derecha o a la izquierda, se mueve, pero inmediatamente vuelve a la posicion x= -700. sigue mandando la otra accion..."

pues esto, evidentemente, es porque no estas validando que se haga
el movimiento en x en ningún momento, es decir, deberías tener algo así por ej

on(press){
if(tira._x == 900 ) //posicion x INICIAL
tira.x=-700;
}

y así, en el ej, solo se ejecutará esto si la coordenada inicial es 900, luego cuando se vuelva a ejecutar este código y detecte que no es igual, no lo hará

resuelve esto en algo lo que necesitas?
prueba y comenta
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #6 (permalink)  
Antiguo 19/10/2010, 14:31
Avatar de Yermanyer  
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema para mover MC con AS

Hola Bandit y morti , muchas gracias por su tiempo..!!..
Con esto que me explicas morti logro entender un poco esto de las validaciones, muchas gracias!!.. no me sirvió exactamente para eso pq yo necesito que esté en el lugar que esté "tira" yo la pueda mover 20 px a la derecha o a la izq.........pero sin querer lo logré!!
en lugar de
on(press){
tira._x-=20;
}

simplemente tenía que poner
on(press){
tira.x-=20;
}


y ahi funcioná joyaa!! aca les subí un ejemplo para qeu puedan ver lo que les decía.. http://www.germangualco.com.ar/demos/usm/foto_home_prueba.html


Ahora tengo este problema, que aca si seguramente sirva esto de la validación... cuando se acaba la tira, necesito que los botones de izq y derecha no funcionen mas..

Se me ocurre qeu puede ser algo asi como si tira.x es menor a -1500 que el boton no funcione mas, (esto para el tope hacia la izq) y hacia la derecha si tira.x es mayor a 1500 (como tope hacia la derecha)

Ahora traducido no se bien como sería.. imagino que algo asi

if(tira.x == <-1500 )
aki decirle qeu no funcione el boton, como le puedo decir eso??
}

puede ser??


Abrazooo!!!
  #7 (permalink)  
Antiguo 19/10/2010, 18:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Problema para mover MC con AS

en efecto, ya sería con un if y deshabilitando los botones,
con esto

Código actionscript:
Ver original
  1. if(tira.x > 1400 && tira.x < 1500 ){
  2. elemento.enabled = false;
  3. }

fijate que tengo 2 condiciones, pues si dijese que sea menor
a 1500, pues en cualquier momento (incluso desde el inicio)
se puede cumplir esa condición, así que le digo si x es mayor a 1400
y es menor a 1500, con eso se asegura que esta ya bastante
movido para ser deshabilitado, pero pues se pueden
cambiar esos rangos tranquilamente

espero te sirva la idea
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #8 (permalink)  
Antiguo 20/10/2010, 07:27
Avatar de Yermanyer  
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema para mover MC con AS

Morti, como estas¿?..

mirá no entendí bien lo qeu me explicaste la ultima vez... lo de las 2 condiciones, pero mas o menos si lo de deshabilitar el boton, estoy probando con esto.. pero no me funciona

Aca le doy la accion al boton

bot_izq.onRelease=function(){
tira.x-=30;
}

y aca teoricamente le digo que si la coordenada x de tira es menor a -1350 se deshabilite el boton... pero no funciona...

if(tira.x < -1350 ){
bot_izq.enabled = false;
}


que estoy haciendo mal?

un abrazoo!
  #9 (permalink)  
Antiguo 20/10/2010, 08:48
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Problema para mover MC con AS

bueno, pues yo lo veo bien, intenta lo contrario, es decir, que no sea menor
sino que sea mayor, y si con eso si se deshabilita es que entonces
la coordenada x no alcanza a ser menor a dicho valor
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #10 (permalink)  
Antiguo 20/10/2010, 10:21
Avatar de Yermanyer  
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires, Argentina, Argentina
Mensajes: 11
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema para mover MC con AS

no hay caso , no qiere funcionar, ahora una cosa que me resulta raro.. si en lugar de
if(tira.x < -1350 ){
bot_izq.enabled = false;
}

le pongo qeu sea igual ...

if(tira.x = -1350 ){
bot_izq.enabled = false;
}

ahi se deshabilita el boton, pero siempre, esté donde esté tira no funciona... es raro...

se te ocurre algo¿¿

de todas maneras mil gracias!! fue una gran ayuda!!

un abrazooo!!
  #11 (permalink)  
Antiguo 20/10/2010, 11:16
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Problema para mover MC con AS

Cita:
Iniciado por Yermanyer Ver Mensaje
no hay caso , no qiere funcionar, ahora una cosa que me resulta raro.. si en lugar de
if(tira.x < -1350 ){
bot_izq.enabled = false;
}

le pongo qeu sea igual ...

if(tira.x = -1350 ){
bot_izq.enabled = false;
}

ahi se deshabilita el boton, pero siempre, esté donde esté tira no funciona... es raro...

se te ocurre algo¿¿

de todas maneras mil gracias!! fue una gran ayuda!!

un abrazooo!!
bueno, no estas comparando que sean iguales (==), sino que
estas asignando ese valor a la coordenada x de tira
se me ocurre que puedes hacerle un trace a tira.x antes
del if para ver que valor tiene
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: mover
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:36.