Skip to content

Commit 35e4c03

Browse files
committed
TileSprites are now much more tidy and can run from a frame in a texture. They can also be animated. New TileSprite.autoScroll function added.
1 parent 5bbb7e3 commit 35e4c03

34 files changed

Lines changed: 1116 additions & 42 deletions

examples/_site/labs/bg.png

2.16 KB
Loading

examples/_site/labs/labs.png

211 KB
Loading

examples/_site/labs/logo.png

42 KB
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
2+
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
3+
4+
var tilesprite;
5+
var cursors;
6+
var count = 0;
7+
8+
function preload() {
9+
10+
game.load.image('starfield', 'assets/misc/starfield.jpg');
11+
game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18);
12+
game.load.atlas('seacreatures', 'assets/sprites/seacreatures_json.png', 'assets/sprites/seacreatures_json.json');
13+
14+
}
15+
16+
var sprite;
17+
18+
function create() {
19+
20+
// sprite = game.add.tileSprite(0, 0, 800, 600, 'starfield');
21+
// sprite = game.add.tileSprite(100, 100, 400, 300, 'starfield');
22+
23+
24+
// sprite = game.add.tileSprite(0, 0, 800, 600, 'mummy', 0);
25+
// sprite.animations.add('walk');
26+
// sprite.animations.play('walk', 20, true);
27+
28+
// x = game.add.sprite(0, 0, 'mummy');
29+
// x.animations.add('walk');
30+
// x.animations.play('walk', 20, true);
31+
32+
sprite = game.add.tileSprite(0, 0, 800, 600, 'seacreatures', 'octopus0000');
33+
sprite.animations.add('swim', Phaser.Animation.generateFrameNames('octopus', 0, 24, '', 4), 30, true);
34+
sprite.animations.play('swim');
35+
36+
37+
cursors = game.input.keyboard.createCursorKeys();
38+
39+
}
40+
41+
function update() {
42+
43+
count += 0.005
44+
45+
sprite.tileScale.x = 2 + Math.sin(count);
46+
sprite.tileScale.y = 2 + Math.cos(count);
47+
48+
sprite.tilePosition.x += 1;
49+
sprite.tilePosition.y += 1;
50+
51+
if (cursors.left.isDown)
52+
{
53+
sprite.tilePosition.x += 4;
54+
}
55+
else if (cursors.right.isDown)
56+
{
57+
sprite.tilePosition.x -= 4;
58+
}
59+
60+
if (cursors.up.isDown)
61+
{
62+
sprite.tilePosition.y += 4;
63+
}
64+
else if (cursors.down.isDown)
65+
{
66+
sprite.tilePosition.y -= 4;
67+
}
68+
69+
}
70+
71+
function render() {
72+
73+
// game.debug.renderText(sprite.frame, 32, 32);
74+
75+
}

examples/wip/autoscroll.js

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser-example', { preload: preload, create: create, update: update, render: render });
3+
4+
var tilesprite;
5+
var cursors;
6+
var count = 0;
7+
8+
function preload() {
9+
10+
game.load.image('starfield', 'assets/misc/starfield.jpg');
11+
game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18);
12+
game.load.atlas('seacreatures', 'assets/sprites/seacreatures_json.png', 'assets/sprites/seacreatures_json.json');
13+
14+
}
15+
16+
var sprite;
17+
18+
function create() {
19+
20+
sprite = game.add.tileSprite(0, 0, 800, 600, 'starfield');
21+
sprite.autoScroll(0, 200);
22+
23+
}
24+
25+
function update() {
26+
27+
}
28+
29+
function render() {
30+
31+
// game.debug.renderText(sprite.frame, 32, 32);
32+
33+
}

examples/wip/index.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function getFile() {
3232

3333
function dirToArray($dir) {
3434

35-
$ignore = array('.', '..', '_site', 'assets', 'states', 'book', 'filters', 'misc');
35+
$ignore = array('.', '..', '_site', 'assets', 'gfx', 'states', 'book', 'filters', 'misc');
3636
$result = array();
3737
$root = scandir($dir);
3838
$dirs = array_diff($root, $ignore);

examples/wip/tilesprite.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,30 @@
11

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

44
var tilesprite;
55
var cursors;
66

77
function preload() {
88

99
game.load.image('starfield', 'assets/misc/starfield.jpg');
10+
game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18);
11+
game.load.atlas('seacreatures', 'assets/sprites/seacreatures_json.png', 'assets/sprites/seacreatures_json.json');
1012

1113
}
1214

15+
var sprite;
16+
1317
function create() {
1418

15-
// tilesprite = game.add.tileSprite(0, 0, 800, 600, 'starfield');
19+
// sprite = game.add.tileSprite(0, 0, 800, 600, 'starfield');
20+
21+
// sprite = game.add.tileSprite(100, 100, 400, 300, 'starfield');
22+
23+
sprite = game.add.tileSprite(100, 100, 400, 300, 'mummy');
24+
25+
sprite.animations.add('walk');
1626

17-
tilesprite = game.add.tileSprite(100, 100, 400, 300, 'starfield');
27+
sprite.animations.play('walk', 20, true);
1828

1929
cursors = game.input.keyboard.createCursorKeys();
2030

@@ -24,20 +34,28 @@ function update() {
2434

2535
if (cursors.left.isDown)
2636
{
27-
tilesprite.tilePosition.x += 8;
37+
sprite.tilePosition.x += 8;
38+
sprite.x -= 4;
2839
}
2940
else if (cursors.right.isDown)
3041
{
31-
tilesprite.tilePosition.x -= 8;
42+
sprite.tilePosition.x -= 8;
43+
sprite.x += 4;
3244
}
3345

3446
if (cursors.up.isDown)
3547
{
36-
tilesprite.tilePosition.y += 8;
48+
sprite.tilePosition.y += 8;
3749
}
3850
else if (cursors.down.isDown)
3951
{
40-
tilesprite.tilePosition.y -= 8;
52+
sprite.tilePosition.y -= 8;
4153
}
4254

4355
}
56+
57+
function render() {
58+
59+
game.debug.renderText(sprite.frame, 32, 32);
60+
61+
}
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
2+
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
3+
4+
var tilesprite;
5+
var cursors;
6+
var count = 0;
7+
8+
function preload() {
9+
10+
game.load.image('starfield', 'assets/misc/starfield.jpg');
11+
game.load.spritesheet('mummy', 'assets/sprites/metalslug_mummy37x45.png', 37, 45, 18);
12+
game.load.atlas('seacreatures', 'assets/sprites/seacreatures_json.png', 'assets/sprites/seacreatures_json.json');
13+
14+
}
15+
16+
var sprite;
17+
18+
function create() {
19+
20+
// sprite = game.add.tileSprite(0, 0, 800, 600, 'starfield');
21+
// sprite = game.add.tileSprite(100, 100, 400, 300, 'starfield');
22+
23+
sprite = game.add.tileSprite(0, 0, 800, 600, 'mummy');
24+
sprite.animations.add('walk');
25+
sprite.animations.play('walk', 20, true);
26+
27+
// sprite = game.add.tileSprite(0, 0, 800, 600, 'seacreatures');
28+
// sprite.animations.add('swim', Phaser.Animation.generateFrameNames('octopus', 0, 24, '', 4), 30, true);
29+
// sprite.animations.play('swim');
30+
31+
32+
cursors = game.input.keyboard.createCursorKeys();
33+
34+
}
35+
36+
function update() {
37+
38+
count += 0.005
39+
40+
sprite.tileScale.x = 2 + Math.sin(count);
41+
sprite.tileScale.y = 2 + Math.cos(count);
42+
43+
sprite.tilePosition.x += 1;
44+
sprite.tilePosition.y += 1;
45+
46+
if (cursors.left.isDown)
47+
{
48+
sprite.tilePosition.x += 4;
49+
}
50+
else if (cursors.right.isDown)
51+
{
52+
sprite.tilePosition.x -= 4;
53+
}
54+
55+
if (cursors.up.isDown)
56+
{
57+
sprite.tilePosition.y += 4;
58+
}
59+
else if (cursors.down.isDown)
60+
{
61+
sprite.tilePosition.y -= 4;
62+
}
63+
64+
}
65+
66+
function render() {
67+
68+
// game.debug.renderText(sprite.frame, 32, 32);
69+
70+
}

labs/code/003 thrust.js

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', { preload: preload, create: create, update: update, render: render });
3+
4+
function preload() {
5+
6+
game.load.image('backdrop', 'assets/pics/remember-me.jpg');
7+
game.load.image('ship', 'assets/sprites/thrust_ship2.png');
8+
9+
}
10+
11+
var ship;
12+
var cursors;
13+
14+
function create() {
15+
16+
game.world.setBounds(0, 0, 1920, 1200);
17+
18+
var bg = game.add.sprite(0, 0, 'backdrop');
19+
bg.alpha = 0.8;
20+
21+
ship = game.add.sprite(200, 200, 'ship');
22+
ship.physicsEnabled = true;
23+
24+
game.camera.follow(ship);
25+
26+
cursors = game.input.keyboard.createCursorKeys();
27+
28+
game.physics.defaultRestitution = 0.8;
29+
30+
}
31+
32+
function update() {
33+
34+
if (cursors.left.isDown)
35+
{
36+
ship.body.rotateLeft(100);
37+
}
38+
else if (cursors.right.isDown)
39+
{
40+
ship.body.rotateRight(100);
41+
}
42+
else
43+
{
44+
ship.body.setZeroRotation();
45+
}
46+
47+
if (cursors.up.isDown)
48+
{
49+
ship.body.thrust(400);
50+
}
51+
52+
}
53+
54+
function render() {
55+
56+
// game.debug.renderText('x: ' + box2.body.velocity.x, 32, 32);
57+
// game.debug.renderText('y: ' + box2.body.velocity.y, 32, 64);
58+
59+
}
60+

0 commit comments

Comments
 (0)