Añadidos nuevos tamaños para los enemigos

This commit is contained in:
2022-07-14 18:09:06 +02:00
parent d95645e930
commit 446dc9941f
17 changed files with 194 additions and 25 deletions

View File

@@ -1,10 +0,0 @@
tileset=enemy01.png
x=8
y=8
vx=0.1
vy=0
x1=8
x2=200
y1=8
y2=8
color=red

View File

@@ -12,6 +12,8 @@ room1.tmx
[enemy]
tileset=enemy01.png
width=16
height=16
x=1
y=0
vx=0
@@ -25,6 +27,8 @@ color=red
[enemy]
tileset=enemy01.png
width=16
height=16
x=5
y=9
vx=0.6

View File

@@ -2,7 +2,7 @@ name=Test Room 2
bg_color=black
tileset=room1.png
room_up=0
room_down=0
room_down=04.room
room_left=01.room
room_right=0
@@ -12,6 +12,8 @@ room2.tmx
[enemy]
tileset=enemy01.png
width=16
height=16
x=14
y=0
vx=0

31
data/room/03.room Normal file
View File

@@ -0,0 +1,31 @@
name=Test Room 2
bg_color=black
tileset=room1.png
room_up=0
room_down=0
room_left=01.room
room_right=0
[tilemap]
room2.tmx
[tilemap-end]
[enemy]
tileset=enemy01.png
x=14
y=0
vx=0
vy=1
x1=14
y1=0
x2=14
y2=13
color=purple
[enemy-end]
[item]
tileset=items.png
tile=0
x=19
y=6
[item-end]

78
data/room/04.room Normal file
View File

@@ -0,0 +1,78 @@
name=The Fridge
bg_color=blue
tileset=room1.png
room_up=02.room
room_down=0
room_left=0
room_right=0
[tilemap]
room4.tmx
[tilemap-end]
[enemy]
tileset=enemy02.png
width=8
height=16
x=1
y=3
vx=1
vy=0
x1=1
y1=3
x2=14
y2=3
color=purple
[enemy-end]
[enemy]
tileset=enemy02.png
width=8
height=16
x=30
y=7
vx=-0.8
vy=0
x1=10
y1=7
x2=30
y2=7
color=light_white
[enemy-end]
[enemy]
tileset=enemy03.png
width=8
height=8
x=15
y=12
vx=0.5
vy=0
x1=15
y1=12
x2=30
y2=12
color=light_purple
[enemy-end]
[item]
tileset=items.png
tile=6
x=2
y=2
[item-end]
[item]
tileset=items.png
tile=6
x=29
y=5
[item-end]
[item]
tileset=items.png
tile=6
x=21
y=12
[item-end]

View File

@@ -16,8 +16,8 @@
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21,0,0,0,0,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,0,0,0,0,0,0,0,
21,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,381,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,381,21,21,21,21,21,21,21,21,21,21,21,
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,
21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21
</data>
</layer>

View File

@@ -11,14 +11,14 @@
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,
0,0,0,0,0,0,0,0,0,0,0,203,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,23,23,23,0,0,0,0,0,0,0,0,0,23,
23,23,23,23,23,23,0,0,0,203,0,0,0,0,0,0,0,0,0,263,0,0,0,0,203,203,0,0,0,0,0,23,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,23,
0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,263,0,0,0,0,203,203,0,0,0,0,0,23,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,23,
23,23,23,23,23,23,0,0,0,203,0,0,0,0,0,0,0,0,0,263,0,0,0,0,203,203,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,263,0,0,0,0,203,203,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,203,203,23,
0,0,0,0,0,0,0,203,203,203,203,203,203,0,0,0,0,0,0,263,0,0,0,0,203,203,0,0,0,0,0,23,
0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,263,0,0,0,0,0,0,0,0,0,0,0,23,
43,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,263,83,83,83,83,83,83,83,83,83,83,83,83,
43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43
43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,0,203,43,43,43,43,43,43,43,43,43,43,43,43,43,43
</data>
</layer>
</map>

24
data/room/room3.tmx Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.0" orientation="orthogonal" renderorder="right-down" width="32" height="16" tilewidth="8" tileheight="8" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="../../resources/tilesets/room1.tsx"/>
<layer id="1" name="Capa de patrones 1" width="32" height="16">
<data encoding="csv">
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,0,232,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,
26,26,26,0,0,0,26,26,26,0,0,0,26,26,26,0,0,0,26,26,26,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381,381
</data>
</layer>
</map>

24
data/room/room4.tmx Normal file
View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.9" tiledversion="1.9.0" orientation="orthogonal" renderorder="right-down" width="32" height="16" tilewidth="8" tileheight="8" infinite="0" nextlayerid="2" nextobjectid="1">
<tileset firstgid="1" source="../../resources/tilesets/room1.tsx"/>
<layer id="1" name="Capa de patrones 1" width="32" height="16">
<data encoding="csv">
25,249,249,249,249,249,249,249,249,249,249,249,249,249,249,0,0,0,249,249,249,249,249,249,249,249,249,249,249,249,249,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,0,270,0,0,0,0,0,0,0,0,0,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,0,290,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,270,270,270,270,270,0,0,270,270,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,290,0,0,0,0,0,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,290,0,0,0,0,0,25,
25,0,0,0,0,0,0,0,0,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
25,249,249,249,249,249,249,249,249,249,249,249,249,249,249,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,
22,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,
22,0,0,0,0,0,289,0,0,0,0,0,0,0,0,0,0,0,381,0,0,0,0,0,0,381,0,0,0,0,0,22,
25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25
</data>
</layer>
</map>

BIN
media/enemies/enemy02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 B

BIN
media/enemies/enemy03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 B

After

Width:  |  Height:  |  Size: 331 B

View File

@@ -199,10 +199,16 @@ void Director::setFileList()
mAsset->add("/data/config.bin", data, false);
mAsset->add("/data/room/01.room", room);
mAsset->add("/data/room/02.room", room);
mAsset->add("/data/room/03.room", room);
mAsset->add("/data/room/04.room", room);
mAsset->add("/data/room/room1.tmx", room);
mAsset->add("/data/room/room2.tmx", room);
mAsset->add("/data/room/room3.tmx", room);
mAsset->add("/data/room/room4.tmx", room);
mAsset->add("/media/tilesets/room1.png", bitmap);
mAsset->add("/media/enemies/enemy01.png", bitmap);
mAsset->add("/media/enemies/enemy02.png", bitmap);
mAsset->add("/media/enemies/enemy03.png", bitmap);
mAsset->add("/media/player/player01.png", bitmap);
mAsset->add("/media/items/items.png", bitmap);
}

View File

@@ -28,17 +28,17 @@ Enemy::Enemy(enemy_t enemy)
sprite->setVelY(enemy.vy);
// Inicializa el sprite con el resto de parametros comunes
sprite->setWidth(16);
sprite->setHeight(16);
sprite->setWidth(enemy.w);
sprite->setHeight(enemy.h);
sprite->setCurrentFrame(0);
sprite->setAnimationCounter(0);
sprite->setAnimationNumFrames(0, 4);
sprite->setAnimationSpeed(0, 5);
sprite->setAnimationLoop(0, true);
sprite->setAnimationFrames(0, 0, 16 * 0, 0, 16, 16);
sprite->setAnimationFrames(0, 1, 16 * 1, 0, 16, 16);
sprite->setAnimationFrames(0, 2, 16 * 2, 0, 16, 16);
sprite->setAnimationFrames(0, 3, 16 * 3, 0, 16, 16);
sprite->setAnimationFrames(0, 0, enemy.w * 0, 0, enemy.w, enemy.h);
sprite->setAnimationFrames(0, 1, enemy.w * 1, 0, enemy.w, enemy.h);
sprite->setAnimationFrames(0, 2, enemy.w * 2, 0, enemy.w, enemy.h);
sprite->setAnimationFrames(0, 3, enemy.w * 3, 0, enemy.w, enemy.h);
sprite->setSpriteClip(sprite->getAnimationClip(0, 0));
collider = getRect();

View File

@@ -29,6 +29,8 @@ struct enemy_t
SDL_Renderer *renderer; // El renderizador de la ventana
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
std::string tileset; // Fichero con los graficos del enemigo
int w; // Anchura del enemigo
int h; // Altura del enemigo
float x; // Posición inicial en el eje X
float y; // Posición inicial en el eje Y
float vx; // Velocidad en el eje X

View File

@@ -265,6 +265,14 @@ bool Room::setEnemy(enemy_t *enemy, std::string _var, std::string _value)
{
enemy->tileset = _value;
}
else if (_var == "width")
{
enemy->w = std::stof(_value);
}
else if (_var == "height")
{
enemy->h = std::stof(_value);
}
else if (_var == "x")
{
enemy->x = std::stof(_value) * BLOCK;

View File

@@ -5,7 +5,7 @@
[x] Colisiones con los enemigos
[x] Decidir un diseño para qué sucede en caso de morir: Recordar el punto por donde se entró al mapa y la velocidad en el eje X/Y que llevaba el personaje, crear puntos de reaparicion en las habitaciones, etc
En el Jet Set Willy el juego recuerda la posicion y el momento. En las Tres Luces de Glaurung solo la posición. Se va a optar por seguir el diseño del Jet Set Willy
[ ] Crear tiles que maten
[x] Crear tiles que maten
[ ] Crear tiles que deslicen, (no tipo hielo sino cinta)
[ ] Tiles animados
[ ] Crear ascensores