duda de como aplicar while

Jastro

Bueeenas gente, estoy empezando programacion primero he ido a actionscript, que es mas sencillito para luego ir metiendome mas adelante. La duda es, que no entiendo como hacer funcionar la funcion while, me explico.

Tengo que hacer un flash, en el que cuando le des a un boton, el muñeco se rote x grados cada vez que se pulse, tengo claro que debe ser un while, ya que hacer un if seria un codigo infinito.

y tengo claro que la sintaxis del while es:

while (condición){
sentencias a ejecutar
}

Lo que no se que condicion ponerle para que cada vez que pulse se gire :/

yusukorz

No se como será en actionscript, pero en javascript sería un evento onclick, cada vez que a ese objeto se le haga click, pues ejecuta una función.

Jastro

#2 te refieres a ponerlo asi?

while (on release) {
sentencias a ejecutar
}

DiSKuN

la condicion seria el evento onclick no? ya q rotaria cada vez q le pulsases

VipeR_CS

Yo es que no sé si te he entendido mal pero no veo necesario el while. De actionscript no tengo ni puta idea, pero en javascript se haría lo siguiente. En el botón añades la sentencia onclick="girar()". girar() sería una función en la que simplemente rotarías el objeto los grados que tengas que moverlo. Por lo que he entendido siempre es la misma cantidad, así que con ponerlo directamente de manera fija sin bucles debería valer.

Edit: a no ser que lo que quieras es que vaya rotando poco a poco, grado a grado, haciendo el efecto de movimiento y no que pase de estar en una posición a estar en otra. En ese caso la condición serían los grados totales que quieres girarlo, y mientras tanto ir girándolo dentro del bucle un grado por cada iteración.

Jastro

#5 si, lo que buscaba es lo de tu edit, voy a probarlo, gracias a todos por la ayuda :D

dagavi

Desconozco por completo ActionScript, pero lo que te están diciendo sería eliminar el while.

Una programación por evento, interrupciones, etc. es distinto.

Como te están diciendo tu le dirías algo como "on click -> ejecuta esta función" y dentro de la función pondrías lo que pasaría cada vez que se haga click, es decir, lo que estás metiendo en el while.

Elektr0_ddr

hace gritones de años que no toco actionscript pero sería algo así:

boton_btn.onPress = function () {
    while(true){
         // Rotar el muñeco X grados (1 grado por ejemplo)
         // Esperar 1 seg o milisegundos hasta que vuelva a entrar en el while
     }
};

De esta manera mientras tengas pulsado el boton irá girando conforme a la velocidad que hayas especificado (grados/seg).

EDIT:
Más bonito:

function rotar(){
   //rotar X grados
}

rotar_btn.onPress = function(){
   rotarInt = setInterval(rotar, 100);
}
rotar_btn.onRelease = function(){
   clearInterval(rotarInt);
}

Mientras pulses girará, al dejar de pulsar se parará.

Googleando se encuentra fácil, a ver si no somos tan vagos jaja

Jastro

#8 muchas gracias!!! es que no queria el codigo al completo, queria descubrirlo por mi mismo pero no entendia como aplicarlo, muchas gracias a todos muy amables :D

Usuarios habituales

  • Jastro
  • Elektr0_ddr
  • dagavi
  • VipeR_CS
  • DiSKuN
  • yusukorz