Phaser.js - 如何从一个组中取出一个对象?

时间:2015-05-05 22:17:54

标签: phaser-framework

我正在玩着阶段入侵者示例游戏。

拍摄物体时,不是杀死它,而是更改精灵并将其移动到屏幕底部。但是,它现在可以再次拍摄。我不希望第二次拍摄它。我认为,因为游戏物理学是在外星人的组织中,所以可能有两种选择。

a)要么我可以把单人外星人带出外星人'外星人'并希望第二次停止射击。

b)或者有某种方式说'外星人刚开枪=现在不再被枪杀了#39; ,我尝试了以下无济于事。

alien.physicsBodyType = null;

这是我现在的碰撞处理程序     function collisionHandler(bullet,alien){

//  When a bullet hits an alien we kill them both
bullet.kill();
alien.loadTexture("cured");
// move alien to bottom

var tween2 = game.add.tween(alien).to( { y: 300 }, 1000,    Phaser.Easing.Linear.EaseIn, true);
tween2.onComplete.add(doNext, this);
    tween2.start();

所以,基本上改变后的精灵仍然可以被射击,我需要这样做,所以无法射击。

我试过了。

game.world.add(happy); 

它改变了精灵的位置,它仍然是可拍摄的。嗯...

有没有办法让单人外星人碰撞?

1 个答案:

答案 0 :(得分:0)

好的,我想出了我的答案,只是停用精灵的身体,你不需要把它从小组中取出来。

sprite.body.enable = false;

'sprite'是你实际精灵的名字。经过测试和工作。