У меня есть простая демонстрация, когда я хочу сделать спрайт движущимся на 1 пиксель / сек, установив его скорость.Но что-то идет не так, и через 1 секунду достигает + 41 пикселя.
class Test extends Phaser.Scene {
preload() {
this.load.image('tank', require('../assets/tank.png'));
}
create() {
this.matter.world.setBounds(-this.game.config.width, -this.game.config.height,
this.game.config.width as integer * 2, this.game.config.height as integer * 2);
this.matter.world.disableGravity();
let t = new Phaser.Physics.Matter.Sprite(this.matter.world, 100, 100, 'tank');
t.setVelocity(1, 0);
console.log(t.x, t.y);
setInterval(() => {console.log(t.x, t.y);}, 100);
}
update(time: number, deltaInMs: number) {
}
}
window.onload = () => {
let config = {
type: Phaser.AUTO,
width: 800,
height: 600,
parent: '',
scene: Test,
physics: {
default: 'matter'
}
};
const game = new Phaser.Game(config);
};
Вывод:
100 100
105.79346520930099 100
111.24789770010324 100
116.38313761644142 100
121.21786406008547 100
125.76966303456044 100
130.05509141309238 100
134.08973716316 100
137.88827604671374 100
141.4645250023074 100
Какие единицы измерения используются материей в Phaser?