Phaser 3 Arcade: исправлена ​​установка Y камеры после игрока - PullRequest
1 голос
/ 22 сентября 2019

Я начал с бесконечной игры в раннер, положение игрока фиксировано, а объекты движутся влево.Я использую 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);

1 Ответ

0 голосов
/ 22 сентября 2019

Решено, добавляю:

camera.setLerp(0,0);
...