javascript - outOfBoundsKill equivalent in Phaser 3 - Stack Overflow

I have used Phaser 2 for a while but recently converted to Phaser 3 and I want to know if there is a me

I have used Phaser 2 for a while but recently converted to Phaser 3 and I want to know if there is a method or member that might be equivalent to 'outOfBoundsKill'. I have an Arc Object in Phaser 3 and applied gravity to it and I want to make sure it is killed or destroyed when it is out of bounds of the canvas.

More about outOfBoundsKill: .6.2/Phaser.Sprite.html#outOfBoundsKill

I have tried this code sample and it did not destroy the arc object, 'ball' is the arc object.

ball.on('worldbounds', function() {
  if (!Over) {
    ball.destroy();

    HealthBar.livesLeft -= 1;
    HealthBar.cs.scale.x = HealthBar.livesLeft / HealthBar.lives;

    var shake = this.sound.add('shake');
    shake.play();
  }
}, this);

I have used Phaser 2 for a while but recently converted to Phaser 3 and I want to know if there is a method or member that might be equivalent to 'outOfBoundsKill'. I have an Arc Object in Phaser 3 and applied gravity to it and I want to make sure it is killed or destroyed when it is out of bounds of the canvas.

More about outOfBoundsKill: https://phaser.io/docs/2.6.2/Phaser.Sprite.html#outOfBoundsKill

I have tried this code sample and it did not destroy the arc object, 'ball' is the arc object.

ball.on('worldbounds', function() {
  if (!Over) {
    ball.destroy();

    HealthBar.livesLeft -= 1;
    HealthBar.cs.scale.x = HealthBar.livesLeft / HealthBar.lives;

    var shake = this.sound.add('shake');
    shake.play();
  }
}, this);

Share Improve this question edited Oct 11, 2019 at 21:03 Selorb 921 silver badge9 bronze badges asked Oct 31, 2018 at 20:56 user9814313user9814313
Add a ment  | 

1 Answer 1

Reset to default 9

There is no built in equivalent, that I could find, but I do know how to replicate it

const sprite = this.physics.add.sprite(x, y, 'key');

// Turn on wall collision checking for your sprite
sprite.setCollideWorldBounds(true);

// Turning this on will allow you to listen to the 'worldbounds' event
sprite.body.onWorldBounds = true;

// 'worldbounds' event listener
sprite.body.world.on('worldbounds', function(body) {
  // Check if the body's game object is the sprite you are listening for
  if (body.gameObject === this) {
    // Stop physics and render updates for this object
    this.setActive(false);
    this.setVisible(false);
  }
}, sprite);

Do not use destroy(). It is putationally expensive and requires that you recreate the object again (if there isn't anything pointing to it already).

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742318817a4421388.html

相关推荐

  • javascript - outOfBoundsKill equivalent in Phaser 3 - Stack Overflow

    I have used Phaser 2 for a while but recently converted to Phaser 3 and I want to know if there is a me

    16小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信