Phaser游戏开发2;

上面的代码已经完成了80%的内容,下面让我们来继续完善游戏内容;

碰撞检测

1
game.physics.arcade.collide(player, platforms);

Phaser.Physics.arcade.collide(object1, object2, collideCallback, processCallback, callbackContext)

参数分别为,对象1,对象2,碰撞回调函数,比如有的关卡,有陷阱一类的,人物要是碰撞后,在回调中kill人物,state跳到over上。

重叠检测

跟碰撞类似,只是api不同

1
game.physics.arcade.overlap(player, platforms);

Phaser.Physics.arcade.overlap(object1, object2, collideCallback, processCallback, callbackContext)

多用在获得道具上,比如人物和星星重叠后,可以加分,然后消除星星。

1
2
3
4
5
game.physics.arcade.overlap(player,stars,function (player,star) {
scroe += 10;
fonts.text = 'scroe: ' + scroe;
star.kill();
})

上下左右操作

1
cursors = game.input.keyboard.createCursorKeys();

Phaser.Game.input.keyboard.createCursorKeys()

1
2
3
4
5
6
7
8
9
10
11
if(cursors.left.isDown){
player.body.velocity.x = -150;
player.animations.play('left');
}else if(cursors.right.isDown){
player.body.velocity.x = 150;
player.animations.play('right');
}else{
player.frame = 4;
player.body.velocity.x = 0;
player.animations.stop();
}

当按下键盘 <- 左键时,x轴加速为-150,然后执行animations的left动画,有一点是需要注意的是,在没有按下左右键的时候,让frame定格在第4帧,

1
player.frame = 4;

以下为全部代码:
Phaser 小游戏About

感谢您的阅读,本文由 李经纶 版权所有。如若转载,请注明出处:李经纶个人博客(https://chinalijinglun.github.io//2018/05/03/Phaser游戏开发2/