Inlägg nr 1

Projekt Trowl.

Om bakgrunden och parallax.

Denna vecka har jag jobbat på Bakgrunds klassen och hur jag skulle implementera parallax i vårat projekt.

Jag började med att skapa en klass för bakgrunden som skulle kunna användas för alla lager av bakgrund vi skulle skapa.

Jag började med att göra så att klassen tar en sprite, storlek på spriten, position i X och Y axel samt vilken bakgrunds Enitity typ det är.

Sedan skapade jag en funktion för rörelse av bakgrunden för vårat spel är en autoscroller och då ville har jag ha individuell rörelse av alla lager bakgrund i x eller y led i olika hastigheter och att den skulle loopa i x led.

Så funktionen läser in skärmens bredd och höjd samtspritens origin position i X led. Jag har en variabel för hastigheten den skall röra sig i X led som vi multiplicerar med Delta Time så vi kan sätta olika hastigheter på olika lager bakgrund. Sedan har jag en if sats: Om spritens X position är mindre än – skrämbredden (-1920) så sätt spritens X position += skrämbredden * 2.

På detta sätt kunde jag loopa två bilder konstant och få det att se ut som bakgrunden alltid rörde på sig.

 

Funktionen tar även emot en hastighet för Y axis.

Detta för jag ville att vagnarna skulle röra sig upp och ner för att simulera att dom rör sig på en tåg räls. Här använder jag två stycken if satser:

Om Y position är mindre än skärmens höjd dividerat på tre minus 15 så byt håll dvs han byter hastigheten i Y led från negativ till positiv så att vagnarna börjar röra sig neråt igen.

Därefter om position i Y är större än eller = original position i Y byt hastighet igen från positiv till negativ. I slutet på denna funktion så sätter jag sprite positionen till dom variablerna vi ändrar för X respektive Y position.

Sedan har jag skapade ytterligare funktioner för att returnera en sprite pointer samt två funktioner som returnerar X positionen och Y positionen för bakgrunden. Lade även till funktionalitet ifall vi vill skapa kollision för bakgrunden med tanke på att spelaren kanske inte skall kunna åka igenom tåget samt fiender kanske skall kunna kollidera med tåg vagnarna med mera. För att skapa olika bakgrunder sen i spelet så gör vi en pointer till bakgrundsklassen och gör en new bakgrund där vi läser in vilken bild vi skall använda för att göra spriten, hur stor den skall vara, vilken position samt vilken bakgrundstyp det är. Sedan kan vi skapa flera olika bakgrunds object och rita ut dom i olika lager och användra funktionen för rörelse med olika hastighet för att skapa parallax effekten i spelet.

Untitled

About joni nikander

2015 Game Design