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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
game.sprites = {
centipedeHead: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 0,
spriteWidth: 40,
spriteHeight: 40,
numFrames: 4,
timePerFrame: 100,
}),
centipedeBody: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 80,
spriteWidth: 40,
spriteHeight: 40,
numFrames: 4,
timePerFrame: 100,
}),
spider: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 160,
spriteWidth: 80,
spriteHeight: 40,
numFrames: 8,
timePerFrame: 100,
cols: 4,
rows: 2,
}),
flea: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 320,
spriteY: 160,
spriteWidth: 45,
spriteHeight: 40,
numFrames: 4,
timePerFrame: 500,
cols: 2,
rows: 2,
}),
scorpion: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 280,
spriteWidth: 80,
spriteHeight: 40,
numFrames: 4,
timePerFrame: 500,
cols: 4,
}),
ship: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 400,
spriteWidth: 40,
spriteHeight: 40,
numFrames: 1,
timePerFrame: 0,
cols: 1,
rows: 1
}),
bullet: game.graphics.Sprite({
drawFunction: (_elapsedTime, {x, y, rot, width, height}, context) => {
context.save();
context.translate(x+width/2, y+height/2);
context.rotate(rot * Math.PI / 180);
context.translate(-x-width/2, -y-height/2);
const fillStyle = context.fillStyle;
context.fillStyle = "#FF0000";
context.fillRect(x, y, width, height);
context.fillStyle = fillStyle;
context.restore();
}
}),
explosionBig: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 0,
spriteY: 320,
numFrames: 8,
spriteWidth: 80,
spriteHeight: 40,
cols: 4,
rows: 2,
timePerFrame: 30,
}),
explosionSmall: game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 320,
spriteY: 320,
numFrames: 6,
spriteWidth: 40,
spriteHeight: 40,
cols: 3,
rows: 2,
timePerFrame: 30,
}),
regularMushrooms: [3,2,1,0].map(i =>
game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 320 + i*40,
spriteY: 0,
numFrames: 1,
spriteWidth: 40,
spriteHeight: 40,
timePerFrame: 0,
})
),
poisonMushrooms: [3,2,1,0].map(i =>
game.graphics.Sprite({
sheetSrc: "assets/images/centipede-assets.png",
spriteX: 320 + i*40,
spriteY: 40,
numFrames: 1,
spriteWidth: 40,
spriteHeight: 40,
timePerFrame: 0,
})
)
};
|