需要帮助使用phaser.js让精灵从屏幕的右侧进入

时间:2014-03-10 17:54:55

标签: javascript phaser-framework

我现在正在学习游戏的移相器框架:http://phaser.io

这个例子展示了从屏幕左侧进入的多个精灵。我只想弄清楚如何让他们从右边进来。我缺少了一些东西。

这里可以看到工作示例:http://examples.phaser.io/_site/view_full.html?d=sprites&f=add+several+sprites.js&t=add%20several%20sprites

代码:

var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload:preload, create: create, update: update });

var timer = 0;
var total = 0;

function preload() {

//  37x45 is the size of each frame
//  There are 18 frames in the PNG - you can leave this value blank if the frames     fill up the entire PNG, but in this case there are some
//  blank frames at the end, so we tell the loader how many to load
game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18);

}

function create() {

releaseMummy();

}

function releaseMummy() {

var mummy = game.add.sprite(-(Math.random() * 800), game.world.randomY, 'mummy');

mummy.scale.setTo(2, 2);

//  If you prefer to work in degrees rather than radians then you can use Phaser.Sprite.angle
//  otherwise use Phaser.Sprite.rotation
mummy.angle = game.rnd.angle();

mummy.animations.add('walk');
mummy.animations.play('walk', 20, true);

game.add.tween(mummy).to({ x: game.width + (1600 + mummy.x) }, 20000, Phaser.Easing.Linear.None, true);

total++;
timer = game.time.now + 100;

}

function update() {

if (total < 200 && game.time.now > timer)
{
    releaseMummy();
}

} 

1 个答案:

答案 0 :(得分:2)

你可以在游戏界限后将精灵位置设置在远处。

var mummy = game.add.sprite(800 + (Math.random() * 800), game.world.randomY, 'mummy');

并且在比赛界限之后远远地左转。

game.add.tween(mummy).to({ x: -(1600 + mummy.x) }, 20000, Phaser.Easing.Linear.None, true);

FIDDLE DEMO