GoldenProjectile powerup

Denna vecka har handlat om att lägga in det absolut sista som ska in. Det vill säga, dom två sista power upsen och allt ljud ska vara klart. Därför har min vecka handlat om att göra en golden projectile och en massa olika ljud. Men eftersom att ljud inte är direkt intressant att göra en blog post om, (ur programmeringssynpunkt) kommer denna post i det stora hela handla om power upen “Golden Projectile”.

Idén med golden projectile är att den ska droppas från fiender och kunna skjutas en gång. Skillnaden på golden projectile och en vanlig projectile är att den istället för åka tillbaka som den vanliga gör när den träffar en fiende, genomborrar den alla fiender i sin väg och försvinner när den åker utanför skärmens kant.

Till att börja med skapade jag en ny class som hette “GoldenProjectilePickup” som ska representera det objekt som fienderna kan tappa. Eftersom att vi sedan tidigare redan hade en färdig power up, var det inga större problem att implementera detta. Utan väldigt stor del av koden kunde kopieras.

Det svåra var istället att veta hur jag skulle göra för att rita ut en annan sprite för harpunen och samtidigt ändra dess funktion. Det som kändes mest uppenbart för detta var att skapa ännu en class som endast hette “GoldenProjectile” och som skulle representera den projektil som man faktiskt skjuter med. Efter detta försökte jag lägga in den andra funktionaliteten i den guldiga harpunen för att kunna ersätta den vanliga. Däremot uppstod ett problem då jag inte visste hur jag skulle göra för att radera den vanliga harpunen när den guldiga var aktiv. Att använda sig av enums för att hålla koll på detta fungerade inte, utan gav ett felmeddelande. Detta problem lämnade mig väldigt fundersam, men efter att ha diskuterat med en annan programmerare i gruppen, kom vi fram till att det var helt onödigt att skapa en extra class. Det var mycket lättare att endast byta sprite på harpunen direkt i player.cpp (där den vanliga harpunen redan skapas) och sedan dela upp funktionaliteten på harpunen i if-satser och för att hålla reda på det hela skapa olika enums.

Nedan kan ni se resultatet av veckans arbete, vår luftmätare har även den fått sig en ordentlig remake, sedan detta klipp spelades in. Den passar just nu mer in i resten av spelets art style.

ezgif.com-video-to-gif

Börjar faktiskt bli väldigt stolt över vad vår grupp åstadkommit!

Tack för mig! c:

 

 

Leave a comment