Phaser - 如何更改组的精灵图像?

Posted

技术标签:

【中文标题】Phaser - 如何更改组的精灵图像?【英文标题】:Phaser - How to change the sprite image of a group? 【发布时间】:2019-10-14 18:32:43 【问题描述】:

我正在使用 Phaser io

我正在制作一个简单的游戏,玩家必须避免掉落的敌人(物体)。敌人是这样创建的:

    const enemies = this.physics.add.group();
    function enemyGen()
      const xCoord = Math.random()*gameState.w;
      enemies.create(xCoord, 10, 'enemy').setScale(0.4);
    
    const enemyGenLoop = this.time.addEvent(
      callback: enemyGen,
      delay: 800,
      callbackScope: this,
      loop: true
    )

我知道您可以使用以下方法更改精灵图像:

player.setTexture('image');

所以我尝试了这个:

enemies.setTexture('image');

但这不起作用。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您需要遍历组中的每个项目并为单个项目设置纹理。

enemies.children.iterate((child) => 
  child.setTexture('image');
);

【讨论】:

以上是关于Phaser - 如何更改组的精灵图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何从精灵图像中找到图像的像素位置[关闭]

如何在 Phaser 中添加重复图像?

Phaser 2 - 如何检测我何时拖动另一个精灵?

将 SKSprite 的图像更改为 SKShapeNode

Phaser Framework - 检查精灵总旋转

Phaser3 从文件夹加载图像