29/08/2007, 06:04
|
| | Fecha de Ingreso: noviembre-2004
Mensajes: 47
Antigüedad: 20 años Puntos: 0 | |
Re: Juegode navecitas: problemas con funciones en Flash8 Muchas gracias!! He solucionado el problema. Lo que hice fue lo q me dijiste. Pasé los parámetros como MC y, en la llamada a la función, les añadí "_root." delante. Ahora va perfecto.
Por si interesa, dejo aquí el código.
Código del frame en la línea de tiempo de la escena:
Código:
function colisionLaser(nombreLaser:MovieClip, nombreEnemigo:MovieClip, valorEnemigo:Number){
if (nombreEnemigo.hitTest(nombreLaser)){
myLoop = new Sound(); // cargo el sonido de la explosión
myLoop.attachSound("explosion2");
myLoop.start();
_root.puntos = Number(_root.puntos) + valorEnemigo; //incremento la puntuación con el valor del enemigo derribado
_root.destruidos += 1; // incremento el nº de enemigos destruidos
nombreEnemigo._x += 5; //invierto la animación para dar efecto de explosión en el aire
nombreLaser.removeMovieClip(); //borro el láser
nombreEnemigo.gotoAndPlay(15); //animación explosión de la nave enemiga
}
}
Y ahora el código en el MC vacío desde el que llamo a la función:
Código:
onClipEvent(enterFrame){
_root.colisionLaser(_root.disp0, _root.enemigo1, _root.valorEnemigo1);
_root.colisionLaser(_root.disp1, _root.enemigo1, _root.valorEnemigo1);
_root.colisionLaser(_root.disp2, _root.enemigo1, _root.valorEnemigo1);
_root.colisionLaser(_root.disp3, _root.enemigo1, _root.valorEnemigo1);
_root.colisionLaser(_root.disp4, _root.enemigo1, _root.valorEnemigo1);
_root.colisionLaser(_root.disp0, _root.enemigo2, _root.valorEnemigo2);
_root.colisionLaser(_root.disp1, _root.enemigo2, _root.valorEnemigo2);
_root.colisionLaser(_root.disp2, _root.enemigo2, _root.valorEnemigo2);
_root.colisionLaser(_root.disp3, _root.enemigo2, _root.valorEnemigo2);
_root.colisionLaser(_root.disp4, _root.enemigo2, _root.valorEnemigo2);
_root.colisionLaser(_root.disp0, _root.enemigo3, _root.valorEnemigo3);
_root.colisionLaser(_root.disp1, _root.enemigo3, _root.valorEnemigo3);
_root.colisionLaser(_root.disp2, _root.enemigo3, _root.valorEnemigo3);
_root.colisionLaser(_root.disp3, _root.enemigo3, _root.valorEnemigo3);
_root.colisionLaser(_root.disp4, _root.enemigo3, _root.valorEnemigo3);
}
De nuevo mil gracias. |