如何在Phaserjs中制作无限侧滚背景?

24
我正在使用phaser.js制作游戏,但找不到任何关于如何使背景无限滚动的教程。我希望能让背景在角色向右移动时横向平铺/重复,并且可以一直滚动下去。
我目前使用相机并让相机跟随角色。
我的想法是:在update()中不断检查相机的位置,然后将其与此时的角色一起移动到游戏开始处(最左边)。虽然我认为这可能不会很平稳,因此想知道是否有更好的方法。
1个回答

34

通过使用瓷砖精灵和移动 "tilePosition",可以实现这一点:

var bgtile;

function preload () {
   game.load.image('bgtile', 'bgtile.jpg');
}

function create () {
   bgtile = game.add.tileSprite(0, 0, game.stage.bounds.width, game.cache.getImage('bgtile').height, 'bgtile');
}

function update () {
   bgtile.tilePosition.x -= 1;
}

由于update()函数使用定位,如果FPS不稳定,这是否会有点脆弱?当一个对象被赋予速度时,速度应该更加稳定。在具有平铺背景的情况下,有什么好的方法可以做到这一点? - Roy Solberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接