-
Notifications
You must be signed in to change notification settings - Fork 1
/
helloPhaser.html
87 lines (77 loc) · 2.58 KB
/
helloPhaser.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!DOCTYPE html>
<html>
<head>
<title>Phaser Hello World!</title>
<script type="text/javascript" src="lib/phaser.min.js"></script>
</head>
<body>
<script type="text/javascript">
var game = new Phaser.Game(640, 480, Phaser.AUTO);
var BootState = {
preload: function() {
game.load.image('loadingBar', 'sprites/loading.png');
},
create: function() {
game.state.start('loading');
}
}
var LoadingState = {
preload: function() {
loadingBar = game.add.sprite(0, 0, 'loadingBar');
// Center the preload bar
loadingBar.x = game.world.centerX - loadingBar.width / 2;
loadingBar.y = game.world.centerY - loadingBar.height / 2;
game.load.setPreloadSprite(loadingBar);
game.load.image('ball', 'sprites/ball.png');
},
create: function() {
game.state.start('game');
}
}
var fps;
var points;
var ball;
var oldSignX;
var oldSignY;
var GameState = {
create: function() {
var halfWidth = game.world.width*0.5;
var halfHeight = game.world.height*0.5;
game.time.advancedTiming = true;
fps = game.add.text(5, 2.5, '', { font: '20px Verdana', fill: '#FFFFFF', align: 'left' });
fps.fixedToCamera = true;
fps.update = function() {
fps.setText(game.time.fps+' fps');
}
points = game.add.text(game.world.width-5, 2.5, '0 points', { font: '20px Verdana', fill: '#FFFFFF', align: 'left' });
points.fixedToCamera = true;
points.p = 0;
points.update = function() {
points.setText(points.p+' points');
points.pivot.x = points.width;
points.pivot.y = 0;
}
game.physics.startSystem(Phaser.Physics.ARCADE);
ball = game.add.sprite(halfWidth, halfHeight, 'ball');
game.physics.enable(ball, Phaser.Physics.ARCADE);
ball.anchor.setTo(0.5,0.5);
ball.body.velocity.setTo(200,200);
ball.body.collideWorldBounds = true;
ball.body.bounce.set(1);
},
update: function() {
var signX = (ball.body.velocity.x > 0);
var signY = (ball.body.velocity.y > 0);
if (signX != oldSignX || signY != oldSignY) {
oldSignX = signX;
oldSignY = signY;
points.p++;
}
}
}
game.state.add("boot", BootState, true);
game.state.add("loading", LoadingState, false);
game.state.add("game", GameState, false);
</script>
</body>
</html>