Group.xy(index, x, y) allows you to set the x and y coordinates of a Group child at the given index.

Group.reverse() reverses the display order of all children in the Group.
New labs demo.
Fixed some Easing docs issues.
This commit is contained in:
photonstorm
2014-03-04 01:27:57 +00:00
parent 67ad898294
commit 8c2502d37d
6 changed files with 132 additions and 44 deletions
+86 -21
View File
@@ -8,40 +8,105 @@ function preload() {
}
var font;
var images;
var dataV;
var dataH;
var dataH2;
var sine = 0;
var total = 24;
var posV = [];
var posH = [];
var text = [ 'phaser v2', 'this march', 'yay retro fonts!', 'shaders', 'filters', 'blend modes', 'full body physics', 'and cats', '(maybe not cats)', '------------' ];
var textIndex = 0;
function create() {
game.stage.smoothed = true;
font = game.add.retroFont('knightHawks', 31, 25, Phaser.RetroFont.TEXT_SET6, 10, 1, 1);
font.text = 'phaser v2';
var i;
var tween;
// Let's create 2 sets of generated tween data - one going vertically, one going horizontally, at different speeds
var tweenData = { x: 200, y: 64 };
for (var c = 0; c < 20; c++)
tween = game.make.tween(tweenData).to( { y: 500 }, 2000, Phaser.Easing.Sinusoidal.InOut);
tween.yoyo(true);
tween.interpolation(game.math.catmullRomInterpolation);
dataV = tween.generateData(60);
tween = game.make.tween(tweenData).to( { x: 600 }, 1500, Phaser.Easing.Sinusoidal.InOut);
tween.yoyo(true);
tween.interpolation(game.math.catmullRomInterpolation);
dataH = tween.generateData(60);
tween = game.make.tween(tweenData).to( { x: 600 }, 1500, Phaser.Easing.Elastic.InOut);
tween.yoyo(true);
tween.interpolation(game.math.catmullRomInterpolation);
dataH2 = tween.generateData(60);
images = game.add.group();
var tmp;
for (var i = 0; i < total; i++)
{
// var i = game.add.image(game.world.centerX, c * 32, font);
var i = game.add.image(game.world.centerX + (c * 10), 32, font);
// i.tint = Math.random() * 0xFFFFFF;
i.anchor.set(0.5, 1);
game.world.sendToBack(i);
// tween = game.add.tween(i).to( { y: 500 }, 2000, Phaser.Easing.Quadratic.InOut, true, i * 100, 1000, true);
// to: function (properties, duration, ease, autoStart, delay, repeat, yoyo) {
tween = game.add.tween(i).to( { y: 500 }, 2000, Phaser.Easing.Sinusoidal.InOut);
tween.delay(c * 10);
tween.yoyo(true);
tween.repeat(Number.MAX_SAFE_INTEGER);
tween.interpolation(game.math.bezierInterpolation);
tween.start();
tmp = images.create(game.world.centerX, 64, font);
tmp.anchor.set(0.5);
tmp.scale.set(2);
// tmp.alpha = (1.0 / total) * i;
posV.push(i * 4);
posH.push(i);
}
images.reverse();
game.time.events.loop(4000, updateText, this);
game.time.events.loop(6000, updateSine, this);
}
function updateSine() {
sine++;
if (sine === 2)
{
sine = 0;
}
}
function updateText() {
textIndex = game.math.wrapValue(textIndex, 1, text.length);
font.text = text[textIndex];
}
function update() {
// font.text = "phaser x: " + game.input.x + " y: " + game.input.y;
var pv, ph;
for (var i = 0; i < total; i++)
{
pv = posV[i];
ph = posH[i];
if (sine === 0)
{
images.getAt(i).x = dataH[ph].x;
}
else
{
images.getAt(i).x = dataH2[ph].x;
}
images.getAt(i).y = dataV[pv].y;
posV[i] = game.math.wrapValue(pv, 1, dataV.length);
posH[i] = game.math.wrapValue(ph, 1, dataH.length);
}
}