working death animation

This commit is contained in:
Stefan Stefanov 2024-02-10 15:33:39 +02:00
parent 19bff3176d
commit 31de4ca06c
4 changed files with 71 additions and 47 deletions

41
sprites.odin Normal file
View file

@ -0,0 +1,41 @@
package space_invaders
import glm "core:math/linalg/glsl"
GLOBAL_SPRITE_SCALE :: 2
SPRITE_CELL :: 16
ALIEN_ROWS :: 5
ALIENS_PER_ROW :: 11
ALIENS :: ALIEN_ROWS * ALIENS_PER_ROW
ALIEN_SIDE_STEP :: 20 * GLOBAL_SPRITE_SCALE
ALIEN_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE}
MAX_BULLETS :: 100
BULLET_SPEED :: 240
BULLET_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE}
MAX_PLAYER_HEALTH :: 3
PLAYER_SPEED :: 120
PLAYER_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE}
// texture offset for ship
SHIP_TO :: glm.vec2{0, 112}
BULLET_TO := [2]glm.vec2{{0, 80}, {16, 80}}
BULLET_FRAME_ANIM := 0
// texture atlas offset for aliens
ALIENS_TO := [AlienKind]glm.vec2 {
.ORANGE = {0, 128 - (SPRITE_CELL * 2)},
.GREEN = {SPRITE_CELL * 1, 128 - (SPRITE_CELL * 2)},
.YELLOW = {SPRITE_CELL * 2, 128 - (SPRITE_CELL * 2)},
.RED = {SPRITE_CELL * 3, 128 - (SPRITE_CELL * 2)},
}
ALIEN_DEATH_FRAMES :: 4
ALIEN_DEATH_ANIMATION_TO := [ALIEN_DEATH_FRAMES]glm.vec2 {
{0, 128 - (SPRITE_CELL * 4)},
{SPRITE_CELL * 1, 128 - (SPRITE_CELL * 4)},
{SPRITE_CELL * 2, 128 - (SPRITE_CELL * 4)},
{SPRITE_CELL * 3, 128 - (SPRITE_CELL * 4)},
}