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

@@ -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;