Comunidad de diseño web y desarrollo en internet online

Desplazarse Hacia Adelante y Luego Hacia Atras

Citar            
MensajeEscrito el 12 Dic 2008 01:21 pm
Hace 2 Dias Publique Lo Mismo y Gracias Por La Respuesta Pero No Funciono Menciono Que yo Pruebo la Pelicula dentro del Ambiente Flash 8 y Ba de Nuevo el Script Ahora Detallado
onClipEvent(enterFrame) {
Vueltas=8;
Velocidad=6;
this._x+=Velocidad;//Esto Funciona* * * * * * * * * * * * * *
this._rotation+=Vueltas;//Esto Tambien Funciona

if(_x>600){
this._x-=Velocidad;/*Esto No Funciona Se Queda Estatico en esa Direccion 600 y lo que quiero es que se desplace hacia atras*/
/*Soy Novato pero A mi Entender que Cuendo Regresa menos de 600 entra en Funcion la linea
marcada con asteriscos */
}
}

Por arj68

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 12 Dic 2008 02:54 pm
Si quieres que vuelva hacia atrás, prueba:

Código ActionScript :

if(_x>600){
  _x = 590
  Velocidad = -Velocidad;
}


El reposicionamiento evita que entres en un loop infinito, al invertir la velocidad va hacia el otro lado ... aunque así planteado, el retroceso no tiene fin

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 12 Dic 2008 03:14 pm
Creo, a mi poco entender, que le estás diciendo al clip que si es mayor a 600 la posición x del clip disminuya... ahora tu problema está que eso lo hace perfectamente, pero ete aquí que en la primer pasada del IF el clip deja de ser mayor a 600 y está en 599... por ende, ya no es mayor a 600 y no lo volverá a ser... no se si me explico bien. Le estás diciendo al programa que SOLO si el clip es mayor a 600 la posición x del mismo disminuya, pero ese estado se elimina en la misma llegada a 600... ¿se comprende?.
Deberías decirle algo así como que si el clip es mayor o igual a 600 pero tambien mayor a 20 (por ejemplo) la posición x disminuya... entonces, mientras no llegue a 20 seguirá dosminuyendo, porque la consición planteada se está cumpliendo. Me parece que te conviene más un While (no se mucho, repito, lo digo por el significado de la palabra)... es decir: MIENTRAS la posición x del clip sea menor a 600 la X aumenta, cuando llega a 600 cambia todo, entonces MIENTRAS la posición de x del clip sea mayor a 0 la posición X disminuye. Algo así es lo que estás necesitando que lamento no poder traducirtelo a código por no tener mayor conocimiento.
Espero que te sirva, saludos.

Por Guillon

20 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 12 Dic 2008 03:21 pm
hola arj68.
como te dijeron antes el código tiene errores. uno de ellos (el que impide mover el mc hacia atrás) es que estas estableciendo Velocidad=8 justo antes aplicarselo a la propiedad _x, así el IF no sirve para nada.
Fijate en este codigo, intenta entenderlo, no es dificil:

Código :

onClipEvent (load) {
   Vueltas = 8;
   Velocidad = 6;
}
onClipEvent (enterFrame) {
   _rotation += Vueltas;
   _x += Velocidad;
   if (_x>600 or _x<0) {
      Velocidad = -Velocidad;
   }
}


Lo más impòrtante: ponemos los valores de "vueltas" a 8 y "velocidad" a 6 SÓLO al principio (load) cuando aparece el clip por primera vez) y no cada vez que empieza un fotograma (enterframe). Así solo tienes que cambiarle el signo a la velocidad e ira hacia atrás.
en fin... poco a poco. suerte ;)

Por Unukalhai

79 de clabLevel



 

firefox

 

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