Я начал с бесконечной игры в раннер, положение игрока фиксировано, а объекты движутся влево.Я использую camera.startFollowing(player)
, чтобы следовать за игроком, но когда я прыгаю, камера движется вместе с игроком.Но положение камеры Y должно быть фиксированным.
Попытка установить смещение на setFollowOffset();
И я попытался использовать физику удара, но Phaser не может найти this.impact
.Я использую Phaser 3.
Я удалил ненужный код из фрагмента кода ниже.
var player, ground, camera;
function create(){
ground = this.physics.add.image(0, 568, 'ground').setScale(2, 2).setGravity(0);
player = this.physics.add.sprite(100, 510, 'dude');
player.setBounce(0);
ground.setCollideWorldBounds(true);
this.physics.add.collider(ground, player);
camera = this.cameras.main;
camera.startFollow(player);
camera.setFollowOffset(-300, 225);
}
function update(){
if (cursors.up.isDown && player.body.touching.down)
{
player.setVelocityY(-275);
}
}
var config = {
type: Phaser.AUTO,
width: 800,
height: 600,
backgroundColor: '#ffff9c',
physics:{
default: 'arcade',
arcade:{
gravity: {y: 600},
debug: false,
}
},
scene:{
preload: preload,
create: create,
update: update
}
};
var game = new Phaser.Game(config);