class Example extends Phaser.Scene
{
constructor ()
{
super();
}
preload ()
{
this.load.setBaseURL('https://cdn.phaserfiles.com/v355');
this.load.image('bg', 'assets/skies/space2.png');
this.load.image('star', 'assets/sprites/chunk.png');
}
create ()
{
this.add.image(400, 300, 'bg');
this.starTweens = [];
let x = 0;
let y = 70;
for (let i = 0; i < 70000; i++)
{
const star = this.add.image(x, y, 'star').setAlpha(0);
const tween = this.add.tween({
targets: star,
alpha: 1,
duration: Phaser.Math.Between(200, 1200),
yoyo: true,
ease: 'Linear',
persist: true
});
this.starTweens.push(tween);
x += 2;
if (x >= 800)
{
x = 0;
y += 3;
}
}
this.i = this.starTweens.length - 1;
this.text = this.add.text(16, 16).setFontSize(16).setColor('#ffffff');
this.time.addEvent({ delay: 50, callback: this.createTweens, callbackScope: this, loop: true });
this.input.on('pointerdown', () => {
this.tweens.paused = (this.tweens.paused) ? false : true;
});
}
update ()
{
if (Phaser.VERSION === '3.55.2')
{
this.text.setText([
'Active tweens: ' + this.tweens._active.length,
'Pending tweens: ' + this.tweens._pending.length
]);
}
else
{
const stats = this.tweens.getTotal();
this.text.setText([
'Active tweens: ' + stats.active
]);
}
}
createTweens ()
{
if (!this.tweens.paused)
{
for (let i = 0; i < 1000; i++)
{
this.starTweens[this.i].restart();
this.i--;
if (this.i === -1)
{
this.i = this.starTweens.length - 1;
}
}
}
}
}
const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
parent: 'phaser-example',
scene: Example
};
const game = new Phaser.Game(config);
class Example extends Phaser.Scene
{
constructor ()
{
super();
}
preload ()
{
this.load.setBaseURL('https://cdn.phaserfiles.com/v355');
this.load.image('bg', 'assets/skies/space2.png');
this.load.image('star', 'assets/sprites/chunk.png');
}
create ()
{
this.add.image(400, 300, 'bg');
this.starTweens = [];
let x = 0;
let y = 70;
for (let i = 0; i < 70000; i++)
{
const star = this.add.image(x, y, 'star').setAlpha(0);
const tween = this.add.tween({
targets: star,
alpha: 1,
duration: Phaser.Math.Between(200, 1200),
yoyo: true,
ease: 'Linear',
persist: true
});
this.starTweens.push(tween);
x += 2;
if (x >= 800)
{
x = 0;
y += 3;
}
}
this.i = this.starTweens.length - 1;
this.text = this.add.text(16, 16).setFontSize(16).setColor('#ffffff');
this.time.addEvent({ delay: 50, callback: this.createTweens, callbackScope: this, loop: true });
this.input.on('pointerdown', () => {
this.tweens.paused = (this.tweens.paused) ? false : true;
});
}
update ()
{
if (Phaser.VERSION === '3.55.2')
{
this.text.setText([
'Active tweens: ' + this.tweens._active.length,
'Pending tweens: ' + this.tweens._pending.length
]);
}
else
{
const stats = this.tweens.getTotal();
this.text.setText([
'Active tweens: ' + stats.active
]);
}
}
createTweens ()
{
if (!this.tweens.paused)
{
for (let i = 0; i < 1000; i++)
{
this.starTweens[this.i].restart();
this.i--;
if (this.i === -1)
{
this.i = this.starTweens.length - 1;
}
}
}
}
}
const config = {
type: Phaser.AUTO,
width: 800,
height: 600,
parent: 'phaser-example',
scene: Example
};
const game = new Phaser.Game(config);