Comunidad de diseño web y desarrollo en internet online

Problema indeinido en la creación de un juego simple

Citar            
MensajeEscrito el 18 Jun 2008 02:48 pm
Bueno,

Después de este titulo, quiero aclarar que solo he pasteado dos veces y no he recibido respuesta pero bueno. No hace mucho que estoy trabajando en el actionscript.

El juego consiste en esquivar unos cuadraditos que se mueven por la pantalla pero van multiplicándose y rebotan a los lados. Tu ratón se llama "rectangle1" i los cuadraditos enemigos se llaman: "rectangle2", "rectangle3", etc. Al principio el 3, el 4, tc. se encuentran fuera de la ventana d forma que no se visualizan. Primero defino que si la posición del primer cuadradito supera la variable _x +44 del segundo(44 es la distancia del centro al centro del cuadradito del ratón cuando se tocan) o es mas pequeña que _x -44 y igual con la y. De esta forma puedo mover los cuadrados y no tengo que variar el script. Al principio todo funciona pero cuando aumento la velocidad(a los 60s. i a los 80s.), aumentando las variables increx y increy que son los puntos que se debe mover cada 10 milisegundos va rápido, y después lento, rápido y después lento.

Otro problema es que al repetir el nivel augmenta la velocidad i si lo repites 10 vezes ya va a la velocidad de la luz. (Sin actualizar la pàgina, eso no se puede acer en internet pero cuando pongo anterior fotograma va mas rapido, i si no supera el nivel i debe repetir-lo...)

Por último otro problema que tengo es que defino unas variables y lo envio al menu del fin del juego y si situas el cursor fuera del flash passa al nivel siguiente sin mas. Además no muestra las variables que defino muestra nivel9 aun que sea nivel1 o 2. No encuentro el error por eso es subido el fla i el swf en un servidor de pruebas.
fla: http://pep.jo.idoo.com/juego4.fla
html del swf : http://pep.jo.idoo.com/juego4.html
swf: http://pep.jo.idoo.com/juego4.swf
Esta pendiente de un mejor diseño y de un menú, pero pueden comprobar lo que digo.
de todas formas les dejo el script del primer nivel que tengo en el fotograma2.

Código :

var repeticion:Number = setInterval(contar, 10);
function contar() {
   rectangle2._x = rectangle2._x+increx2;
   rectangle2._y = rectangle2._y+increy2;
   if (rectangle2._y<30) {
      increy2 = -1*increy2;
   }
   if (rectangle2._y>365) {
      increy2 = 0-increy2;
   }
   if (rectangle2._x<30) {
      increx2 = -1*increx2;
   }
   if (rectangle2._x>516) {
      increx2 = 0-increx2;
   }
   var rectangle2_x_dreta:Number = rectangle2._x+66;
   var rectangle2_y_baix:Number = rectangle2._y+66;
   var rectangle2_x_esquerra:Number = rectangle2._x-66;
   var rectangle2_y_dalt:Number = rectangle2._y-66;
   if (rectangle1._x<rectangle2_x_dreta) {
      if (rectangle1._y<rectangle2_y_baix) {
         if (rectangle1._x>rectangle2_x_esquerra) {
            if (rectangle1._y>rectangle2_y_dalt) {
               gotoAndPlay(25);
            }
         }
      }
   }
   punts = punts+0.01;
   if (punts>60) {
      if (increx2 == +1) {
         increx2 = +1.5;
      }
      if (increx3 == +1) {
         increx3 = +1.7;
      }
      if (increx4 == +1) {
         increx4 = +1.4;
      }
      if (increx5 == +1) {
         increx5 = +1.6;
      }
      if (increx6 == +1) {
         increx6 = +1.8;
      }
      if (increx7 == +1) {
         increx7 = +1.5;
      }
      if (increx8 == +1) {
         increx8 = +1.9;
      }
      if (increy2 == +1) {
         increy2 = +1.5;
      }
      if (increy3 == +1) {
         increy3 = +1.0;
      }
      if (increy4 == +1) {
         increy4 = +1.6;
      }
      if (increy5 == +1) {
         increy5 = +1.5;
      }
      if (increy6 == +1) {
         increy6 = +1.7;
      }
      if (increy7 == +1) {
         increy7 = +1.5;
      }
      if (increy8 == +1) {
         increy8 = -1.8;
      }
      if (increx2 == -1) {
         increx2 = -1.5;
      }
      if (increx3 == -1) {
         increx3 = -1.7;
      }
      if (increx4 == -1) {
         increx4 = -1.4;
      }
      if (increx5 == -1) {
         increx5 = -1.6;
      }
      if (increx6 == -1) {
         increx6 = -1.8;
      }
      if (increx7 == -1) {
         increx7 = -1.5;
      }
      if (increx8 == -1) {
         increx8 = -1.9;
      }
      if (increy2 == -1) {
         increy2 = -1.5;
      }
      if (increy3 == -1) {
         increy3 = -1.0;
      }
      if (increy4 == -1) {
         increy4 = -1.6;
      }
      if (increy5 == -1) {
         increy5 = -1.5;
      }
      if (increy6 == -1) {
         increy6 = -1.7;
      }
      if (increy7 == -1) {
         increy7 = -1.5;
      }
      if (increy8 == -1) {
         increy8 = -1.8;
      }
      if (increy9 == -1) {
         increy9 = -1.8;
      }
      if (increy10 == -1) {
         increy10 = -1.8;
      }
      if (increx9 == -1) {
         increx9 = -1.8;
      }
      if (increx10 == -1) {
         increx10 = -1.8;
      }
   }
   if (punts>120) {
      if (increx2 == +1.2) {
         increx2 = +1.5;
      }
      if (increx3 == +1.7) {
         increx3 = +1.7;
      }
      if (increx4 == +1.4) {
         increx4 = +1.4;
      }
      if (increx5 == +1.6) {
         increx5 = +2;
      }
      if (increx6 == +1.8) {
         increx6 = +2.1;
      }
      if (increx7 == +1.5) {
         increx7 = +2.5;
      }
      if (increx8 == +1.9) {
         increx8 = +2.8;
      }
      if (increy2 == +1.5) {
         increy2 = +2.1;
      }
      if (increy3 == +1.0) {
         increy3 = +2.6;
      }
      if (increy4 == +1.6) {
         increy4 = +2.9;
      }
      if (increy5 == +1.7) {
         increy5 = +2.5;
      }
      if (increy6 == +1.7) {
         increy6 = +2.6;
      }
      if (increy7 == +1.5) {
         increy7 = +2.3;
      }
      if (increy8 == +1.8) {
         increy8 = +2.5;
      }
      if (increx2 == -1.2) {
         increx2 = -1.5;
      }
      if (increx3 == -1.7) {
         increx3 = -1.7;
      }
      if (increx4 == -1.4) {
         increx4 = -1.4;
      }
      if (increx5 == -1.6) {
         increx5 = -2;
      }
      if (increx6 == -1.8) {
         increx6 = -2.1;
      }
      if (increx7 == -1.5) {
         increx7 = -2.5;
      }
      if (increx8 == -1.9) {
         increx8 = -2.8;
      }
      if (increy2 == -1.5) {
         increy2 = -2.1;
      }
      if (increy3 == -1.0) {
         increy3 = -2.6;
      }
      if (increy4 == -1.6) {
         increy4 = -2.9;
      }
      if (increy5 == -1.7) {
         increy5 = -2.5;
      }
      if (increy6 == -1.7) {
         increy6 = -2.6;
      }
      if (increy7 == -1.5) {
         increy7 = -2.3;
      }
      if (increy8 == -1.8) {
         increy8 = -2.5;
      }
      if (increy9 == -1.8) {
         increy9 = -2.5;
      }
      if (increx9 == -1.8) {
         increx9 = -2.5;
      }
      if (increy10 == -1.8) {
         increy10 = -2.5;
      }
      if (increx10 == -1.8) {
         increx10 = -2.5;
      }
   }
   if (punts>10) {
      if (punts<10.03) {
         rectangle3._x = rectangle2._x;
         rectangle3._y = rectangle2._y;
      }
      rectangle3._x = rectangle3._x+increx3;
      rectangle3._y = rectangle3._y+increy3;
      if (rectangle3._y<12) {
         increy3 = -1*increy3;
      }
      if (rectangle3._y>388) {
         increy3 = 0-increy3;
      }
      if (rectangle3._x<12) {
         increx3 = -1*increx3;
      }
      if (rectangle3._x>537) {
         increx3 = 0-increx3;
      }
      var rectangle3_x_dreta:Number = rectangle3._x+44;
      var rectangle3_y_baix:Number = rectangle3._y+44;
      var rectangle3_x_esquerra:Number = rectangle3._x-44;
      var rectangle3_y_dalt:Number = rectangle3._y-44;
      if (rectangle1._x<rectangle3_x_dreta) {
         if (rectangle1._y<rectangle3_y_baix) {
            if (rectangle1._x>rectangle3_x_esquerra) {
               if (rectangle1._y>rectangle3_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>20) {
      if (punts<20.03) {
         rectangle4._x = rectangle2._x;
         rectangle4._y = rectangle2._y;
      }
      rectangle4._x = rectangle4._x+increx4;
      rectangle4._y = rectangle4._y+increy4;
      if (rectangle4._y<12) {
         increy4 = -1*increy4;
      }
      if (rectangle4._y>388) {
         increy4 = 0-increy4;
      }
      if (rectangle4._x<12) {
         increx4 = -1*increx4;
      }
      if (rectangle4._x>537) {
         increx4 = 0-increx4;
      }
      var rectangle4_x_dreta:Number = rectangle4._x+44;
      var rectangle4_y_baix:Number = rectangle4._y+44;
      var rectangle4_x_esquerra:Number = rectangle4._x-44;
      var rectangle4_y_dalt:Number = rectangle4._y-44;
      if (rectangle1._x<rectangle4_x_dreta) {
         if (rectangle1._y<rectangle4_y_baix) {
            if (rectangle1._x>rectangle4_x_esquerra) {
               if (rectangle1._y>rectangle4_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>30) {
      if (punts<30.03) {
         rectangle5._x = rectangle2._x;
         rectangle5._y = rectangle2._y;
      }
      rectangle5._x = rectangle5._x+increx5;
      rectangle5._y = rectangle5._y+increy5;
      if (rectangle5._y<12) {
         increy5 = -1*increy5;
      }
      if (rectangle5._y>388) {
         increy5 = 0-increy5;
      }
      if (rectangle5._x<12) {
         increx5 = -1*increx5;
      }
      if (rectangle5._x>537) {
         increx5 = 0-increx5;
      }
      var rectangle5_x_dreta:Number = rectangle5._x+44;
      var rectangle5_y_baix:Number = rectangle5._y+44;
      var rectangle5_x_esquerra:Number = rectangle5._x-44;
      var rectangle5_y_dalt:Number = rectangle5._y-44;
      if (rectangle1._x<rectangle5_x_dreta) {
         if (rectangle1._y<rectangle5_y_baix) {
            if (rectangle1._x>rectangle5_x_esquerra) {
               if (rectangle1._y>rectangle5_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>40) {
      if (punts<40.03) {
         rectangle6._x = rectangle2._x;
         rectangle6._y = rectangle2._y;
      }
      rectangle6._x = rectangle6._x+increx6;
      rectangle6._y = rectangle6._y+increy6;
      if (rectangle6._y<12) {
         increy6 = -1*increy6;
      }
      if (rectangle6._y>388) {
         increy6 = 0-increy6;
      }
      if (rectangle6._x<12) {
         increx6 = -1*increx6;
      }
      if (rectangle6._x>537) {
         increx6 = 0-increx6;
      }
      var rectangle6_x_dreta:Number = rectangle6._x+44;
      var rectangle6_y_baix:Number = rectangle6._y+44;
      var rectangle6_x_esquerra:Number = rectangle6._x-44;
      var rectangle6_y_dalt:Number = rectangle6._y-44;
      if (rectangle1._x<rectangle6_x_dreta) {
         if (rectangle1._y<rectangle6_y_baix) {
            if (rectangle1._x>rectangle6_x_esquerra) {
               if (rectangle1._y>rectangle6_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>50) {
      if (punts<50.03) {
         rectangle7._x = rectangle2._x;
         rectangle7._y = rectangle2._y;
      }
      rectangle7._x = rectangle7._x+increx7;
      rectangle7._y = rectangle7._y+increy7;
      if (rectangle7._y<12) {
         increy7 = -1*increy7;
      }
      if (rectangle7._y>388) {
         increy7 = 0-increy7;
      }
      if (rectangle7._x<12) {
         increx7 = -1*increx7;
      }
      if (rectangle7._x>537) {
         increx7 = 0-increx7;
      }
      var rectangle7_x_dreta:Number = rectangle7._x+44;
      var rectangle7_y_baix:Number = rectangle7._y+44;
      var rectangle7_x_esquerra:Number = rectangle7._x-44;
      var rectangle7_y_dalt:Number = rectangle7._y-44;
      if (rectangle1._x<rectangle7_x_dreta) {
         if (rectangle1._y<rectangle7_y_baix) {
            if (rectangle1._x>rectangle7_x_esquerra) {
               if (rectangle1._y>rectangle7_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>60) {
      if (punts<60.03) {
         rectangle8._x = rectangle2._x;
         rectangle8._y = rectangle2._y;
      }
      rectangle8._x = rectangle8._x+increx8;
      rectangle8._y = rectangle8._y+increy8;
      if (rectangle8._y<12) {
         increy8 = -1*increy8;
      }
      if (rectangle8._y>388) {
         increy8 = 0-increy8;
      }
      if (rectangle8._x<12) {
         increx8 = -1*increx8;
      }
      if (rectangle8._x>537) {
         increx8 = 0-increx8;
      }
      var rectangle8_x_dreta:Number = rectangle8._x+44;
      var rectangle8_y_baix:Number = rectangle8._y+44;
      var rectangle8_x_esquerra:Number = rectangle8._x-44;
      var rectangle8_y_dalt:Number = rectangle8._y-44;
      if (rectangle1._x<rectangle8_x_dreta) {
         if (rectangle1._y<rectangle8_y_baix) {
            if (rectangle1._x>rectangle8_x_esquerra) {
               if (rectangle1._y>rectangle8_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>60) {
      if (punts<60.03) {
         rectangle9._x = rectangle2._x;
         rectangle9._y = rectangle2._y;
      }
      rectangle9._x = rectangle9._x+increx9;
      rectangle9._y = rectangle9._y+increy9;
      if (rectangle9._y<12) {
         increy9 = -1*increy9;
      }
      if (rectangle9._y>388) {
         increy9 = 0-increy9;
      }
      if (rectangle9._x<12) {
         increx9 = -1*increx9;
      }
      if (rectangle9._x>537) {
         increx9 = 0-increx9;
      }
      var rectangle9_x_dreta:Number = rectangle9._x+44;
      var rectangle9_y_baix:Number = rectangle9._y+44;
      var rectangle9_x_esquerra:Number = rectangle9._x-44;
      var rectangle9_y_dalt:Number = rectangle9._y-44;
      if (rectangle1._x<rectangle9_x_dreta) {
         if (rectangle1._y<rectangle9_y_baix) {
            if (rectangle1._x>rectangle9_x_esquerra) {
               if (rectangle1._y>rectangle9_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>70) {
      if (punts<70.03) {
         rectangle10._x = rectangle2._x;
         rectangle10._y = rectangle2._y;
      }
      rectangle10._x = rectangle10._x+increx10;
      rectangle10._y = rectangle10._y+increy10;
      if (rectangle10._y<12) {
         increy10 = -1*increy10;
      }
      if (rectangle10._y>388) {
         increy10 = 0-increy10;
      }
      if (rectangle10._x<12) {
         increx10 = -1*increx10;
      }
      if (rectangle10._x>537) {
         increx10 = 0-increx10;
      }
      var rectangle10_x_dreta:Number = rectangle10._x+44;
      var rectangle10_y_baix:Number = rectangle10._y+44;
      var rectangle10_x_esquerra:Number = rectangle10._x-44;
      var rectangle10_y_dalt:Number = rectangle10._y-44;
      if (rectangle1._x<rectangle10_x_dreta) {
         if (rectangle1._y<rectangle10_y_baix) {
            if (rectangle1._x>rectangle10_x_esquerra) {
               if (rectangle1._y>rectangle10_y_dalt) {
                  gotoAndPlay(25);
               }
            }
         }
      }
   }
   if (punts>120) {
      gotoAndPlay(26);
   }
}
   var nivell:Number = 9;
   var nivellseg:Number = 10;
   var fotograma:Number = 11;
Mouse.hide();
startDrag("rectangle1", true, 32, 32, 516, 366);
stop();

Por PepJo

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2008 02:55 pm
Hola, otravez yo
La verdad es que he comprobado lo de que si sales del marco se pasa el menú eso no ocurre en internet.
Gracias

Por PepJo

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jun 2008 04:55 pm
300 líneas de código, my god !!!!
Si logras postear 10 y resumir en pocas líneas tu problema, puede que tengas mejor respuesta

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 20 Jun 2008 02:30 pm
el problema es que no encuentro el problema!!!

Por PepJo

5 de clabLevel



 

safari

 

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