Hola a todos, no se si presentar esto como un bug, pero cree una escena maso menos grande y tengo un actor que dispara en la posición (x = -353, Y = -484), hago el código
para cuando haga clic dispare un láser con ( let láser = this.pilas.actores.láser(); ) el problema viene aquí, ya que el actor láser tiene una configuración que si se pasa de los limites que son (400 a -400) se elimina ( me costo un poco encontrar el problema porque escuchaba el sonido pero no veía nada ) bueno en fin me toco solucionarlo de otra manera, pero ahora que uno puede darle un tamaño especifico a la pantalla la función “actores.láser()” se vuelve algo inútil ya que se elimina sola, @hugoruscitti podrías arreglar eso aumentando el limite o crear una función que permita darle los limites antes de ser instan-ciada a la escena, o pueda que no sea un gran problema tampoco, un saludo
Ohhh, es verdad @PabloSosa!!!
Voy a repararlo en la próxima versión, pero mientras tanto, te comento una forma de resolverlo:
En lugar de llamar a la función “this.pilas.actores.laser()” para crear el laser, podrías
crear tu propio actor laser, desactivarlo, y luego crearlo desde el código con la función
“this.pilas.clonar_en(‘laser’, this,x, this.y)”.
Por ejemplo, acá edité el código de la nave para que dispare estos lasers “personalizados”:
Y a su vez, este actor “laser” lo podes construir colocando el actor laser que viene
con pilas en la escena y cambiarle el código así:
// @ts-ignore
class laser extends Actor {
velocidad;
iniciar() {
this.centro_x = 0.3;
this.velocidad = 10;
this.pilas.reproducir_sonido("laser");
}
actualizar() {
this.avanzar(this.rotacion, this.velocidad);
this.eliminar_si_sale_de_la_pantalla();
}
eliminar_si_sale_de_la_pantalla() {
let izquierda = this.pilas.camara.borde_izquierdo;
let derecha = this.pilas.camara.borde_derecho;
let arriba = this.pilas.camara.borde_arriba;
let abajo = this.pilas.camara.borde_abajo;
if (this.x > derecha || this.x < izquierda || this.y > arriba || this.y < abajo) {
this.eliminar();
}
}
}
Te paso un ejemplo completo que armé para probar este cambio en el actor laser:
https://app.pilas-engine.com.ar/#/proyecto/cb841cfe-6003-46cc-8897-d3e7742b6ebf
1 Like