Foros del Web » Programación para mayores de 30 ;) » Programación General »

[SOLUCIONADO] Cual es la falla de este código?

Estas en el tema de Cual es la falla de este código? en el foro de Programación General en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código a: Ver original N2 = 1; do {     Res = "Nave"+N2;     NaveDf = eval(Res+".Df");     if (Player.hitTest(eval(Res)) ...
  #1 (permalink)  
Antiguo 29/11/2015, 11:23
Tachikomaia
Invitado
 
Mensajes: n/a
Puntos:
Cual es la falla de este código?

Código a:
Ver original
  1. N2 = 1;
  2. do {
  3.     Res = "Nave"+N2;
  4.     NaveDf = eval(Res+".Df");
  5.     if (Player.hitTest(eval(Res)) == true) {
  6.         if (Player.Df>NaveDf) {
  7.             Player.Df = Player.Df+NaveDf;
  8.             setProperty (Player, _xscale, Player.Df);
  9.             setProperty (Player, _yscale, Player.Df);
  10.         }
  11.     }
  12.     N2 = N2+1;
  13. } while (N>=N2);
En pantalla caen naves, y cuando una toca la nave del jugador entonces ésta debe agrandarse si su defensa es mayor que la defensa de la nave enemiga. La defensa de las naves determina sus tamaños. La idea es que una nave absorbe a otra si es más grande, y entonces se hace aún más grande, es como si comiera a la más pequeña (ergo esa desaparecería de la pantalla, pero eso aún no lo hice).
Aparentemente el hitTest o chequeo de la colisión está bien, porque para probar creé una variable ahí que se modificara y lo hace, entonces a veces es true, como corresponde.
El problema parece ser el 2ndo if, a veces la nave del jugador no crece y a veces se achica @_@ Posiblemente en el 1er caso es que se achica, sólo que muy poco por eso no se nota, voy a ver.
Player.Df está definido desde antes:
Player.Df = 20;
NaveDf por lo que veo está bien, es decir, siempre es un número, está bien...
Nave.Df también parece ok.
Res también, sino no funcionaría la colisión.
N2 idem.
N no le veo sentido a que sea el problema.

¿Entonces? ¿precisan ver el código completo? ¿cual será la falla?

Edit:
Disculpen, acabo de ver la falla, el código está bien, lo que pasa que la nave del jugador en principio tiene tamaño 20x20, y al aumentar su df a 21 por ejemplo queda a 21% de su tamaño, por eso se achica. Ya lo solucioné estableciendo desde el principio que esté a 50% de su tamaño (también aumenté su df a 50).
En cuanto a que no se agranda, parece que estaba muy impaciente o creía que había colisiones cuando no, pero ahora creo que funciona bien.
Cuando tenga más completo al juego lo presento =)

Última edición por Tachikomaia; 29/11/2015 a las 11:34

Etiquetas: falla
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 13:22.