這是代碼,它是100%運行。我試圖研究答案,但我找不到/解決它。這兩個精靈不會相互碰撞。我想要碰撞功能運行。我的編碼有什麼問題?它不會碰撞
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
功能預載(){
game.load.spritesheet('mummy', 'metalslug_mummy37x45.png', 37, 45, 18);
game.load.spritesheet('sprite', 'sprite.png', 39, 40);
game.load.image('background', 'cemetery.jpg');
}
var sprites;
var rip = 0;
var s;
函數創建(){
game.add.sprite(0, 0, 'background');
sprites = game.add.group();
game.time.events.loop(80, createSprite, this);
game.physics.enable(sprites, Phaser.Physics.ARCADE);
s = game.add.sprite(game.world.centerX, game.world.centerY, 'sprite');
s.anchor.setTo(0.5, 0.5);
s.scale.setTo(2, 2);
s.animations.add('run');
s.animations.play('run', 10, true);
game.physics.enable(s, Phaser.Physics.ARCADE);
}
功能createSprite(){
var mummy = sprites.create(0, game.world.randomY, 'mummy');
mummy.animations.add('walk');
mummy.play('walk', 10, true);
}
功能更新(){
sprites.setAll('x', 10, true, true, 1);
sprites.forEach(checkSprite, this, true);
game.physics.arcade.collide(s, sprites, collisionHandler, null, this);
if (game.input.keyboard.isDown(Phaser.Keyboard.LEFT))
{
s.x -= 5;
}
else if (game.input.keyboard.isDown(Phaser.Keyboard.RIGHT))
{
s.x += 5;
}
if (game.input.keyboard.isDown(Phaser.Keyboard.UP))
{
s.y -= 5;
}
else if (game.input.keyboard.isDown(Phaser.Keyboard.DOWN))
{
s.y += 5;
}
}
功能collisionHandler(OBJ1,OBJ2){
game.stage.backgroundColor = '#992d2d';
}
功能checkSprite(子畫面){
try {
if (sprite.x > game.width)
{
rip++;
sprites.remove(sprite, true);
}
}
catch (e)
{
console.log(sprite);
}
}
函數渲染(){
game.debug.text("Score: " + rip, 32, 64);
}
你必須更好地解釋你的問題:什麼是預期的,發生了什麼,有什麼錯誤,...... – hoijui
*「沒有明確問題陳述的問題對其他讀者沒有用。」* –