Phaser 3 阵列碰撞
Posted
技术标签:
【中文标题】Phaser 3 阵列碰撞【英文标题】:Phaser 3 array collison 【发布时间】:2020-12-01 19:18:58 【问题描述】:在移相器 3 中,我使用重叠来检查碰撞。我的代码如下:
//bulletA is an array(one of the 2 arrays where collison is being checked) it contains all my bullet sprites
//enemy1 is an array containing all the enemies, which I am testing for collision with my bullets. It contains all my enemy sprites
this.physics.add.overlap(bulletA, enemy1, collide1, null, this);
碰撞检测工作正常(我在碰撞时使用 console.log 进行了测试)。但是,我需要能够分辨出enemy1 数组中的哪个特定敌人精灵与我的子弹相撞。这需要发生,以便我可以在敌人身上播放爆炸动画,然后从游戏中删除那个特定的动画。有什么方法可以获取使用重叠的数组的特定元素吗?
【问题讨论】:
ArcadePhysicsCallback 返回发生碰撞的对象。 photonstorm.github.io/phaser3-docs/… photonstorm.github.io/phaser3-docs/… 【参考方案1】:overlap 函数接受一个回调,返回两个碰撞的对象https://photonstorm.github.io/phaser3-docs/Phaser.Physics.Arcade.ArcadePhysics.html#overlap
例如
overlap(bulletA, enemy1, collide1)
function collide1 (ob1, ob2)
// ob1 is the bullet that collided with the enemy
// ob2 is the enemy that collided with the bullet
【讨论】:
感谢您的帮助!我没有意识到该函数返回了这些值。以上是关于Phaser 3 阵列碰撞的主要内容,如果未能解决你的问题,请参考以下文章