【发布时间】:2018-10-24 21:53:31
【问题描述】:
我用 Phaser 框架构建了一个寻宝游戏。我有我的播放器和宝藏。但是当玩家与宝物发生碰撞时,游戏并没有像预期的那样停止。
我尝试了来自不同网站的多种语法。 game.physics.arcade.overlap() 似乎是具有正确语法的正确函数。
这是碰撞处理程序的错误:physicsType error
我希望游戏停止并显示获胜信息并退出游戏。
<!DOCTYPE html>
<html lang="en">
<html>
<head>
<meta charset="UTF-8" />
<title>TreasureHunter</title>
<link rel="stylesheet" href="index.css">
<script src="js/phaser.min.js"> </script>
</head>
<body>
<script type="text/javascript">
var game = new Phaser.Game(640,640,Phaser.AUTO,'',{preload: preload, create: create , update: update});
var player;
var cursors;
var go = false;
var static;
function preload()
{
game.load.image('background', 'assets/background.png');
game.load.spritesheet('dude', 'assets/dude.png',32,48);
game.load.image('treasure', 'assets/treasure.png');
}
function create()
{
// game.physics.startSystem(Phaser.Physics.ARCADE);
game.physics.startSystem(Phaser.Physics.P2JS);
game.add.sprite(0,0, 'background');
// player
player = game.add.sprite(0,0,'dude',5);
game.physics.p2.enable(player);
goal = game.add.sprite(615,280, 'treasure');
game.physics.p2.enable(goal);
goal.body.static = true;
player.animations.add('left',[0,1,2,3],10,true);
player.animations.add('right',[5,6,7,8],10,true);
cursors = game.input.keyboard.createCursorKeys();
}
function update()
{
if (go)
{
return;
}
player.body.velocity.x = 0;
player.body.velocity.y = 0;
if(cursors.left.isDown)
{
player.body.velocity.x = -150;
player.animations.play('left');
}
else if(cursors.right.isDown)
{
player.body.velocity.x = 450;
player.animations.play('right');
}
else if(cursors.up.isDown)
{
player.body.velocity.y = -150;
player.animations.play('up');
}
else if(cursors.down.isDown)
{
player.body.velocity.y = 450;
player.animations.play('down');
}
else {
player.animations.stop();
player.frame = 4;
}
// Checks for treasure and calls goal funcn
this.game.physics.arcade.overlap(this.player, this.goal, this.collideHandler, null, this);
game.collideHandler = function(player,goal)
{
goal.destroy();
console.log("done");
go = true;
}
}
</script>
</body>
</html>
【问题讨论】:
标签: phaser-framework