Cuando agrego gráficos a una escena con this.add.graphics dentro de la función de creación, funciona bien, se agregan gráficos. Cuando pruebo el mismo código dentro de una función personalizada, digamos una función llamada redrawGame() , aparece un mensaje de error que dice:
Undefined is not an object¿Cómo se pueden agregar gráficos a una escena fuera de la función de creación?
Dependiendo de su código, probablemente tendrá que pasar la escena (en este caso this ) a la función personalizada, ya que this objeto en la función personalizada se refiere a un objeto diferente.
// if you want to call it from the "create" function function create(){ redraw(this); ... } ... // Or if you want to call it from the "update" function function update(){ redraw(this); ... } ... function redraw(scene){ scene.add.graphics(); ... }Pero sin ver su código, no puedo decir si este es su problema o si hay un problema diferente.
Actualización, para la llamada de función personalizada en el evento de cambio de tamaño de ventana:
Para verificar el evento de cambio de tamaño del navegador, usaría los eventos de fase ( enlace a la documentación :
// in the create function this.scale.on('resize', resizeGame, this); el tercer parámetro es el alcance*(=escena)*, por lo que su función resizeGame tendría que llamar a redraw , así:
function resizeGame(){ ... redraw(this); // due to the scope passed third parameter of 'this.scale.on' ... }