Blog 3 25/2
Ny Fiende och ProjektilerTim Rojo, Grupp 5. Hej! Denna vecka har jag fokuserat på att arbeta med att implementera en ny fiende i vårt projekt. Denna fiende jämfört med den tidigare fienden skulle istället ha förmågan att skjuta mot spelaren. Till en början gick arbetet bra och jag skapade en vector iterator och en array för dessa nya fiender. Jag gjorde även en counter för min nya fiender och satte värdet till -1. Sedan skrev jag en for loop där jag använde iteratorn och arrayen för den nya fienden och skrev in shootenemyArray[counter].update() och window.draw(shootenemyArray[counter].sprite) funktioner i denna for loop.Det sista jag jag skrev in är en counter–. För att senare rita ut mina nya fiender så använde jag en randomizer som jag fick lite tips om av en klasskamrat hur man gjorde. Randomizern gör att fienderna spawnar slumpmässigt. Det hela var väldigt simpelt då jag började med att skapa en int och ge värdet 1 = rand() modulus 150. Efter detta skapar jag en if sats som kollar om int ==1. Därefter använde jag shootenemyArray.push_back(shootenemy) för att rita ut spriten. Jag använde även denna if sats i update konstruktorn i den nya fiendeklassen för att få ett slumpmässigt värde i fiendernas position i x-led. Skillnaden var att jag här skapade en bool som jag kallar randomCheck. Jag satte senare denna bool till false i en while loop. I denna while loop använde jag random if satsen och satte int = true istället. Jag ändrade även modulus värdet här till ett specifikt värde då jag ville begränsa vart mina nya fiender skulle kunna spawna någonstans. Vi har designmässigt bestämt ett specifikt område där våra fiender skall spawna och attackera ifrån. Allt detta tog kortare tid att göra än vad jag tidigare hade planerat. Men jag stötte på ett tidskrävande problem när jag senare började arbeta med fiendens projektiler. Jag använde samma kod som vi använt för att göra spelarens projektiler. Här har vi använt trigonometri för att få rätt rotation och vinkel på spelarens projektiler som i sin tur går mot vårat sikte. Detta underlättade oerhört då jag lyckats få fiendens projektiler att gå mot spelaren. Jag har även lyckats få projektilerna att skjutas random på samma sätt som jag nämt ovan. Problemet är att projektilerna inte spawnar på mina skjutande fiender. De spawnar istället slumpmässigt över hela spelskärmen och även utanför den för att senare gå mot spelaren. Jag har använt en shootenemyArray[counter].sprite.getPosition().y och x. och även i satt projektilernas position i samma värde som jag använder för mina skjutande fiender. Jag har för tillfället ingen aning om hur jag löser detta problem. Jag har även spenderat väldigt många timmar med att försöka lösa detta problem under veckan. Men för att vara lite mer effektiv med mitt arbete så lade jag detta problem lite åt sidan för att börja implementera ljudeffekter och musik i spelet.
Eftersom våra grafiker ännu inte har fixat en sprite sheet för dessa nya projektiler så behövde jag använda en temporär sprite under veckans arbete.
|
