2014-02-10 76 views
19

我正在使用phaser.js来制作游戏,并且无法找到关于如何使背景无限滚动的任何教程。我希望背景能够平铺/重复,并且随着角色向右移动无限。Phaser.js - 无限侧滚动背景?

我目前正在使用相机,并让相机跟随角色。

这里是我的关于如何做到这一点的想法:检查摄像头的位置不断地在更新(),然后将其移动到游戏的开头(最左边),与当时的字符一起。我认为这可能不是一个平稳的过渡,所以我想知道是否有更好的方法来做到这一点。

回答

29

这可以用瓷砖精灵并通过移动“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; 
} 
+0

由于update()函数使用的定位,会不会这是一个有点脆弱,如果FPS不稳定?当给出物体速度时,速度应该更稳定。用平铺背景做这件事的好方法是什么? –