Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

123
Vistas
Box creation is making the physics pause

This is the code to create a box, this code is called when you click the down key. I would like help making a box that spawns at the bottom of my screen and moves across the page

var boxes

function preload() {
  this.load.image('box', 'assets/box.png');
}
function create() {
  this.w = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.W)
  this.a = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.A)
  this.s = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.S)
  this.d = this.input.keyboard.addKey(Phaser.Input.Keyboard.KeyCodes.D)
  box = this.physics.add.group();
  boxes = box.create(0, 900, 'box').setScale(0.1);
  boxes.body.setAllowGravity(false);
  boxes.setVelocityX(200)
  this.physics.add.collider(player, boxes);
}
function update() {
  let cursors = this.input.keyboard.createCursorKeys();
  if (this.s.isDown) {
    if (wait = 1) {
      createBox()
    }
  }
}
function createBox() {
  box = this.physics.add.group();
  boxes = box.create(0, 900, 'box').setScale(0.1);
  boxes.body.setAllowGravity(false);
  boxes.setVelocityX(200)
  this.physics.add.collider(player, boxes);
  this.time.delayedCall(1000, delayer, null, this);
}

I also create the box once in the create function and it works

I get the error: TypeError: Cannot read properties of undefined (reading 'add')

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

the problem is that in your down event function, you didn't passt the scene as context. I'm to sure which method you are using, but here an example what I mean:

  • If you are using the input.keyboard.on way (here the documentation):

    this.input.keyboard.on('keydown-DOWN', function (event) {
        // ...
    }, this); // <- finall *this*  is very important  
    

the final this is the scene, that you need to pass to the keyboard event-callback. So that the this in your function createBox points to the sceneand not to the browser window;

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda