BitmapText updated and bought in-line with the new Text class. Moved to use the new Bitmap Text XML loader which should work fine on CocoonJS now and also supports multiple bitmap fonts per cache.

This commit is contained in:
photonstorm
2014-02-14 03:34:35 +00:00
parent 58e44f75e3
commit 24f2e2a46d
12 changed files with 498 additions and 478 deletions
+62
View File
@@ -0,0 +1,62 @@
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update });
function preload() {
game.load.image('maggot', 'assets/sprites/ilkke.png');
}
var batch;
var dudeBoundsPadding = 100;
var dudeBounds = new Phaser.Rectangle(-dudeBoundsPadding, -dudeBoundsPadding, 800 + dudeBoundsPadding * 2, 600 + dudeBoundsPadding * 2);
var tick = 0;
function create() {
batch = game.add.spriteBatch();
var total = (game.renderType === Phaser.WEBGL) ? 1500 : 100;
for (var i = 0; i < total; i++)
{
var dude = batch.create(game.world.randomX, game.world.randomY, 'maggot');
dude.anchor.set(0.5);
dude.scale.set(0.8 + Math.random() * 0.3);
dude.direction = Math.random() * Math.PI * 2;
dude.turningSpeed = Math.random() - 0.8;
dude.speed = (2 + Math.random() * 2) * 0.2;
dude.offset = Math.random() * 100;
}
}
function update() {
batch.forEach(updateMaggot, this, false);
tick += 0.1;
}
function updateMaggot(dude) {
dude.scale.y = 0.95 + Math.sin(tick + dude.offset) * 0.15
dude.direction += dude.turningSpeed * 0.02;
dude.position.x += Math.sin(dude.direction) * (dude.speed * dude.scale.y);
dude.position.y += Math.cos(dude.direction) * (dude.speed * dude.scale.y);
dude.rotation = -dude.direction + Math.PI;
// wrap the dudes by testing their bounds..
if (dude.position.x < dudeBounds.x)
dude.position.x += dudeBounds.width;
else if (dude.position.x > dudeBounds.x + dudeBounds.width)
dude.position.x -= dudeBounds.width;
if (dude.position.y < dudeBounds.y)
dude.position.y += dudeBounds.height;
else if (dude.position.y > dudeBounds.y + dudeBounds.height)
dude.position.y -= dudeBounds.height;
}