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

rotar con teclas

Estas en el tema de rotar con teclas en el foro de Flash y Actionscript en Foros del Web. Hola tengo varios clip en el escenario, y quiero hacerlos rotar sobre si mismos, independientemente con las teclas de flecha; para ello tengo este script ...
  #1 (permalink)  
Antiguo 06/05/2004, 10:46
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
rotar con teclas

Hola tengo varios clip en el escenario, y quiero hacerlos rotar sobre si mismos, independientemente con las teclas de flecha; para ello tengo este script "this._rotation+=Math.floor((Math.random()*3)-1)"; pero no consigo hacerlo funcionar.
¿alguien me puede ayudar?
  #2 (permalink)  
Antiguo 06/05/2004, 12:05
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

Bueno, habría que ver que problema tienes exactamente pero así viéndolo rapidamente, me parece que en ocasiones la función que utilizas dará como resultado 0, con lo que no se movería.

De hecho, si no recuerdo mal la definición del floor, solo a partir de 7 tu función serviría, con los demás números, el valor final es 0.

Puede que me equivoque, pero podrías probar lo que te digo haciendo un trace de tu variable.

Ya nos dirás.

Si quieres, puedes poner por aquí el fla y lo vemos

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #3 (permalink)  
Antiguo 06/05/2004, 12:18
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
bueno ya lo he conseguido, pero el problema que tengo ahora es que esto mismo se lo tengo que aplicar a varios clips independientemente, y es que poniendoles este codigo a cada uno de los clips se mueven todos al tiempo, y lo que quiero es que se mueva solo el que de alguna manera seleccione

onClipEvent (keyDown) {
if (Key.isDown( key.LEFT)) {
this._rotation-=Math.floor((Math.random()*3)-5)
}
if (Key.isDown( key.RIGHT)) {
this._rotation+=Math.floor((Math.random()*3)-5)
}
}
  #4 (permalink)  
Antiguo 06/05/2004, 13:48
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

Pues entonces lo que has de hacer, es utilizar algún selector o manejador de acciones ¿puede ser un press, release o algo similar? Tal vez algo como un over...

Suerte
__________________
¡ hey, hou, hou, hey !
  #5 (permalink)  
Antiguo 07/05/2004, 02:35
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
podrias por favor ponerme un ejemplo de como quedaria el codigo
  #6 (permalink)  
Antiguo 07/05/2004, 04:22
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 1 mes
Puntos: 63
Hola

Pues no, porque no se como está hecho tu .fla, no se si tienes botones, movie clips, solo imagenes.

Deberías revisar eso tú o dejarnos el .fla.

Si tienes cosas apretables, puedes utilizar los métodos press o release para activarlos.

SI solo tienes imágenes, puedes utilizar eventos como rollover o rollout.

Son solo ejemplos, pero deberías adecuarlos a tus necesidades.

SUerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #7 (permalink)  
Antiguo 07/05/2004, 05:16
 
Fecha de Ingreso: marzo-2003
Mensajes: 83
Antigüedad: 21 años
Puntos: 0
El codigo que tengo es este:

on (press) {

//Start Dragging Movieclip Behavior
startDrag(this);
//End Behavior


}
on (release) {

//Stop Dragging Movieclip Behavior
stopDrag();
//End Behavior

}

onClipEvent (keyDown) {
if (Key.isDown( key.LEFT)) {
this._rotation-=Math.floor((Math.random()*3)-5)
}
if (Key.isDown( key.RIGHT)) {
this._rotation+=Math.floor((Math.random()*3)-5)
}
if (Key.isDown( key.DOWN)) {
this._width+=Math.floor((Math.random()*3)-5)
this._height+=Math.floor((Math.random()*3)-5)
}
if (Key.isDown( key.UP)) {
this._width+=Math.floor((Math.random()*3)+5)
this._height+=Math.floor((Math.random()*3)+5)
}
}

Y el .fla completo, si me das una direccion te lo envio
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 18:59.