mirror of
https://github.com/photonstorm/phaser
synced 2024-12-18 09:03:29 +00:00
112 lines
2.6 KiB
JavaScript
112 lines
2.6 KiB
JavaScript
|
|
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update });
|
|
|
|
function preload() {
|
|
|
|
game.load.image('knightHawks', 'assets/fonts/retroFonts/KNIGHT3.png');
|
|
|
|
}
|
|
|
|
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';
|
|
|
|
// Let's create 2 sets of generated tween data - one going vertically, one going horizontally, at different speeds
|
|
var tweenData = { x: 200, y: 64 };
|
|
|
|
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++)
|
|
{
|
|
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() {
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|