Phaser Camera. Как заставить камеру приближаться к определенным координатам, а потом возвращаться обратно в исходное положение?
Мне необходимо приблизить камеру в определенную координату (х, у), а потом вернуть камеру в исходное первоначальное положение. Какие мне нужно смотреть свойства камеры или какой метод использовать? Пробовала методы: centerOn, pan, followOffset, setZoom. Не помогает. Может что-то не так делаю. Спасибо) #Phaser #Camera #Zoom
Ответы (1 шт):
Автор решения: Rudi
→ Ссылка
По клику на карте можно сделать это так..
class Example extends Phaser.Scene {
constructor () {
super();
}
preload () {
this.load.image('map', 'assets/tests/camera/earthbound-scarab.png');
}
create () {
this.cameras.main.setBounds(0, 0, 1024, 2058);
this.add.image(0, 0, 'map').setOrigin(0);
this.cameras.main.setZoom(1);
this.cameras.main.centerOn(0, 0);
this.input.on('pointerdown', function (e) {
const cam = this.cameras.main;
cam.pan(e.event.clientX, e.event.clientY, 2000, 'Power2');// e.event.clientX координаты клика
cam.zoomTo(4, 3000);// приближаем камеру к координатам клика
setTimeout(function(){// Ставим задержку
cam.pan(e.prevPosition.x, e.prevPosition.y, 2000);// e.prevPosition.x Вставляем предыдущие координаты
cam.zoomTo(1, 3000);// Выставляем нужный зум
},3500);//Через 3500 ms вернёт камеру на предыдущие координаты
}, this);
}
update () {
const cam = this.cameras.main;
}
}
const config = {
type: Phaser.AUTO,
parent: 'phaser-example',
width: 800,
height: 600,
pixelArt: true,
physics: {
default: 'arcade',
},
scene: [ Example ]
};
const game = new Phaser.Game(config);