我从无尽的亚军游戏开始,玩家的位置是固定的,物体正在向左移动。我使用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);
最佳答案
解决后,我添加:
camera.setLerp(0,0);
关于javascript - Phaser 3 Arcade:将跟随播放器的摄像机的Y设置为固定,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58051157/