summaryrefslogtreecommitdiff
path: root/centipede/js/game/sprites.js
blob: 3cdd77fe329849e7377ffcabdb53e105a51005e8 (plain)
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,
    })
  )
};