Comunidad de diseño web y desarrollo en internet online

Condiciones múltiples para detener cronómetro

Citar            
MensajeEscrito el 26 May 2008 11:25 am
¡Buenas a todos! Soy nuevo aquí, pero lo cierto es que me parece una comunidad con muchísima información útil y muchos expertos, así que espero que alguien me pueda ayudar con un problema que tengo con ActionScript (2.0, supongo, ya que estoy con Flash Professional 8).

El asunto es que tengo un puzzle, al que le he colocado un cronómetro para medir el tiempo que tarda el jugador en resolverlo. Lo que quiero es que el cronómetro se detenga en cuanto todaS las piezas hayan sido colocadas en el lugar correcto. Tengo las coordenadas exactas de ello, porque tuve que usarlas para hacer un hitTest y dejarlas quietas en el lugar que les correspondía.

Mi problema, entonces, son las múltiples condiciones. Lo que se me ocurre es que el código del cronómetro revise la situación de las piezas y, si todas están en las coordenadas correctas, detenga el tiempo. Saqué el código del cronómetro de la web, así que me limité a cambiar la condición que obligaba a detener el timing. Sin embargo, no domino ActionScript demasiado y todo se me va al garete cuando me toca programar una condición como esta. Y encima, múltilple, lo que ya me descoloca totalmente.

Supongo que, además del asunto de la condición múltiple, cada una de esas condiciones estará mal redactada, así que agradecería cualquier ayuda al respecto.

Código :

function paratiempo(){
if (pieza1_mc._x=56, pieza1_mc._y=56)
(pieza1_mc._x=56, pieza1_mc._y=56)
(pieza2_mc._x=155, pieza2_mc._y=159)
(pieza3_mc._x=56, pieza3_mc._y=162)
(pieza4_mc._x=220, pieza4_mc._y=140)
(pieza5_mc._x=160, pieza5_mc._y=56)
(pieza6_mc._x=280, pieza6_mc._y=50)
{
timing = false;
paused = true;
}
}


¡Gracias!

Por Josh Kane

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 May 2008 03:00 pm
La sintaxis es (ejemplo con dos condiciones)

if((a==1) && (b==2))

los signos && significan AND y unen dos condiciones, es decir pon AND par encadenar las condiciones

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 May 2008 08:07 am
Gracias, me viene genial saberlo. ^^

Y la condición:

Código :

(pieza3_mc._x=56, pieza3_mc._y=162)

¿Está bien redactada? Lo que intento indicar es que la pieza (3 en concreto) debe hallarse en esas coordenadas. ¿Cómo podría redactarlo correctamente?

Por Josh Kane

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 May 2008 09:11 am
Si ambas condiciones se deben cumplir simultáneamente debes unirlas con un AND

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 May 2008 09:30 am
¿Dices que sería así?

Código :

function paratiempo(){
if(pieza1_mc._x=56) AND (pieza1_mc._y=56)
{
timing = false;
paused = true;
}

No funciona. Y no debe ser cosa de que falten paréntesis para que sea if((a==1) && (b==2)), porque en ese caso me dice que sobran corchetes.

Por Josh Kane

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 27 May 2008 10:01 am
Si miras con atención, verás que te falta la llave de cierre de la función, los paréntesis, como yo te los había puesto

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 27 May 2008 10:27 am
como dice Jorge, en limpio:

Código :

function paratiempo(){
  if((pieza1_mc._x=56) && (pieza1_mc._y=56)){
    timing = false;
    paused = true;
  }
};

Por penHolder

Claber

4661 de clabLevel

39 tutoriales
2 articulos

Genero:Masculino   Premio_Secretos

| mdz |

firefox

 

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