Vecka 3

Halloj!

Nu har vi haft alphan och vi hann färdigt med alla kriterier tills dess som tur var så det gick bra. Nu är det dags för betan och det finns en hel del som behöver göras, fler fiender, fler power-ups. Turrets:ens skjutsystem behöver en liten remake, fler sektorer och en jäkla massa animationer till allt i princip, med mera, med mera…

Det jag tänkte skriva om denna veckan var animationen för vår EMP som jag inte riktigt fått att funka än. EMP:en är en power-up i vårt spel som slår ut alla enemies på den sektorn (delen av spelplanen) man är på i ett knapptryck. Den spawnar i mitten av skärmen och växer tills den täckt hela skärmen nästan. Än så länge så har vi en ganska lätt lösning för den rent funktionellt. När man trycker på knappen så tömmer vi vectorn för våra enemies helt enkelt efter en kort fördröjning. Detta gör ju att alla enemies försvinner samtidigt på samma millisekund. Det hade ju sett mer naturligt ut om man istället hade en kollision så när den växande EMP.en kolliderar med fienderna så förstörs dom. Detta är något som vi funderat lite på att fixa men det är av låg prioritet känner vi då det finns ganska mycket annat vi vill lägga tiden på istället.

Så jag har arbetat en del på animationen för EMP:en, som vi har den nu och hade den i alpha-redovisningen så är det en cirkel (sf::CircleShape) som som är transparent i mitten med en OutlineThickness på 10 pixlar som har en setScale på 2 , 1. För varje iterering så ökar jag radie med 5 och flyttar x och y -10. Denna lösningen funkade ju inte för mig sen när jag skulle använda mig av en sprite med en TextureRect som ändras hela tiden då rektanglar inte har någon radie.

Därför så har jag provat hittills med att i konstruktorn sätta TextureRect:en till den största bilden i spritesheet:en sen tar jag scale(0.01, 0.01) på spriten och sätter en Origin till den. Sen har jag räknat ut att den första bilden i animationen som är 44 pixlar i x-led är 4.32% av bilden som jag sätter i konstruktorn. Sen jag jag i varje iteration så har jag en funktion som kollar vilken scale spriten har och har den över 4.32% i Scale. (sprite:en börjar ju på 1%) så byter den bild i spritesheet:et.

Detta funkar ju dock inte för mig än så sagt, eller det funkar med när bildbytena görs så ser det lite hackigt. Detta är min första animation som inte är superbasic så förmodligen finns det jättesmidiga lösningar på detta som jag inte känner till men jag tror jag kan lösa det på mitt sätt också. Förmodligen blir det fel med scale:en när jag byter TextureRect i iterationerna men jag får prova vidare och det känns inte som jag är så långt bort från lösningen!

About Mathias Henningsson

2015 Programming