【问题标题】:Healthbars in Phaser 3Phaser 3 中的血条
【发布时间】:2019-04-01 22:43:44
【问题描述】:

我正在 Phaser 3 中制作一个自上而下的僵尸射击游戏。

我正在使用 moveToObject 函数让僵尸跟随玩家。现在我想为僵尸制作健康条。我读过你可以使用容器来让敌人和生命条一起移动,但我无法使用 moveToObject 移动容器。

是否可以使用 moveToObject 函数移动容器,或者我应该使用其他东西来代替?

【问题讨论】:

    标签: phaser-framework


    【解决方案1】:

    看起来moveToObject 方法寻找单个项目的速度,根据API Docs,容器不保存整体速度。但是添加到容器中的每个对象都应该有一个速度。

    解决此问题的快速方法是遍历容器的对象并告诉每个项目移动到对象。我在这里改编了Phaser Labs 的一个例子:

    var block = this.physics.add.image(600, 300, 'block');
    var clown2 = this.physics.add.image(20, 200, 'clown');
    var clown = this.physics.add.image(200, 300, 'clown');
    var container = this.add.container(10, 200, [clown, clown2]);
    
    
    for (var x = 0; x < container.list.length; x++) {
      this.physics.moveToObject(container.list[x], destination, 200);
    }
    

    这可能不是最干净的解决方案,但它应该有助于完成您想做的事情。 Phaser API 文档说 moveToObject 可以与包含 Container 的 GameObject 一起使用。这可能值得作为一个错误报告,以查看是否有一种方法可以修复基本代码以允许容器工作。如果您愿意,可以通过here 报告问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 2019-12-07
      • 2021-12-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 2020-11-09
      相关资源
      最近更新 更多