Cambios en los items y animatedsprite

This commit is contained in:
2022-09-22 07:19:43 +02:00
parent bfb2610f6f
commit f3aeed9428
4 changed files with 19 additions and 24 deletions

View File

@@ -66,7 +66,7 @@ tileset=items.png
tile=1 tile=1
x=9 x=9
y=9 y=9
counter=2 counter=3
[/item] [/item]
[item] [item]
@@ -82,7 +82,7 @@ tileset=items.png
tile=1 tile=1
x=27 x=27
y=9 y=9
counter=2 counter=3
[/item] [/item]
[item] [item]

View File

@@ -91,7 +91,7 @@ void AnimatedSprite::setCurrentFrame(int num)
} }
// Cambia el valor de la variable // Cambia el valor de la variable
animation[currentAnimation].currentFrame = num; animation[currentAnimation].counter = animation[currentAnimation].speed * num;
// Escoge el frame correspondiente de la animación // Escoge el frame correspondiente de la animación
setSpriteClip(animation[currentAnimation].frames[animation[currentAnimation].currentFrame]); setSpriteClip(animation[currentAnimation].frames[animation[currentAnimation].currentFrame]);

View File

@@ -5,43 +5,38 @@
// Constructor // Constructor
Item::Item(item_t item) Item::Item(item_t item)
{ {
const int itemSize = 8;
// Obten punteros a objetos // Obten punteros a objetos
asset = item.asset; asset = item.asset;
renderer = item.renderer; renderer = item.renderer;
// Crea objetos // Crea objetos
texture = new LTexture(renderer, asset->get(item.tileset)); texture = new LTexture(renderer, asset->get(item.tileset));
sprite = new Sprite(item.x, item.y, 8, 8, texture, renderer); sprite = new Sprite(item.x, item.y, itemSize, itemSize, texture, renderer);
// Inicia variables // Inicia variables
sprite->setSpriteClip((item.tile % 10) * 8, (item.tile / 10) * 8, 8, 8); sprite->setSpriteClip((item.tile % 10) * itemSize, (item.tile / 10) * itemSize, itemSize, itemSize);
collider = sprite->getRect(); collider = sprite->getRect();
colorChangeSpeed = 8; colorChangeSpeed = 4;
counter = item.counter * colorChangeSpeed; counter = item.counter * colorChangeSpeed;
// Inicializa los colores // Inicializa los colores
color_t c = item.color1; color_t c = item.color1;
color.push_back(c); color.push_back(c);
color.push_back(c);
c = item.color2; c = item.color2;
color.push_back(c); color.push_back(c);
/*color_t c = stringToColor("blue");
color.push_back(c); color.push_back(c);
c = stringToColor("red"); /*
color.push_back(c); const std::vector<std::string> vColors = {"blue", "red", "magenta", "green", "cyan", "yellow"};
for (auto v:vColors)
c = stringToColor("magenta"); {
color.push_back(c); color.push_back(stringToColor(v));
}
c = stringToColor("green"); */
color.push_back(c);
c = stringToColor("cyan");
color.push_back(c);
c = stringToColor("yellow");
color.push_back(c);*/
} }
// Destructor // Destructor

View File

@@ -16,7 +16,7 @@ x (A) Morir al caer de alto
x (A) Crear ascensores (NO SE VA A HACER POR DISEÑO) x (A) Crear ascensores (NO SE VA A HACER POR DISEÑO)
x (A) Crear rampas x (A) Crear rampas
x (A) Enemigos de diferente tamaño {cm:2022-08-30} x (A) Enemigos de diferente tamaño {cm:2022-08-30}
(A) Color de los items al estilo jet set willy de amstrad, que brillan con dos colores x (A) Color de los items al estilo jet set willy de amstrad, que brillan con dos colores
x (A) Temporizador de inicio de los items, para poder hacer que brillen a distinto ritmo. Esto es incompatible con lo anterior {cm:2022-08-30} x (A) Temporizador de inicio de los items, para poder hacer que brillen a distinto ritmo. Esto es incompatible con lo anterior {cm:2022-08-30}
x (A) Crear efecto de fade estilo spectrum, cambiando el color de las cosas a rojo, morado, azul, negro x (A) Crear efecto de fade estilo spectrum, cambiando el color de las cosas a rojo, morado, azul, negro
x (A) Hacer que los enemigos tengan flip x (A) Hacer que los enemigos tengan flip
@@ -42,10 +42,10 @@ x (A) La pantalla de titulo no tiene menu, solo un PRESS ENTER TO PLAY
(A) La musica del titulo ha de seguir sonando en los creditos y el ¿logo? (A) La musica del titulo ha de seguir sonando en los creditos y el ¿logo?
(A) Menu de pausa/salir (A) Menu de pausa/salir
x (A) Poner el mapa/jugador en pausa x (A) Poner el mapa/jugador en pausa
(A) El color del borde se pierde al morir por la pantalla negra x (A) El color del borde se pierde al morir por la pantalla negra
(B) El fichero ani ha de calcular cuantos frames hay a partir del tamaño y ver que no hay ningun indice incorrecto (B) El fichero ani ha de calcular cuantos frames hay a partir del tamaño y ver que no hay ningun indice incorrecto
(B) Así como no necesitar lo de frames per roomDown x (B) Así como no necesitar lo de frames per row
(B) Le ha de pasar el w y h al sprite (B) Le ha de pasar el w y h al sprite
(B) Lo enemigos han de coger el ancho y alto del fichero ani (y si no hay?) (B) Lo enemigos han de coger el ancho y alto del fichero ani (y si no hay?)
(B) Si no se passa parametro, el fichero ani se deduce del png (y si no hay?) (B) Si no se passa parametro, el fichero ani se deduce del png (y si no hay?)