Vecka Sju: Pause

Denna vecka har jag för det mesta jobbat på små saker, vilket gör att detta inlägg kommer att handla om det mest intressanta som jag har gjort denna vecka, vilket är att kunna pausa spelet. Anledningen till att jag har gjort paus funktionen är för att vårat spel är väldigt intensivt och snabbt, vilket gör att spelare kanske vill ta en paus efter ett tag. Det kan också vara att spelaren behöver lämna datorn i ett par minuter på grund av toa paus eller andra viktiga anledningar. Och om spelaren måste då klara av nivån eller dö för att kunna lämna datorn så kommer hen troligtvis inte bli glad.

Jag började med att skapa en Paus klass. Denna klass är väldigt tom och innehåller endast en sf::sprite. Klassen innehåller en uppdatering funktion samt en ritningsfunktion. Just nu så gör uppdateringsfunktionen inget, men jag skapade den utifall om vi nån gång i framtiden kommer att lägga till några funktioner eller andra saker som ska uppdateras. Ritningsfunktionen ritar bara ut bilden på skärmen. Vi valde att göra en separat klass för paus då vi ville ha saker separerade ifrån varandra och ha saker självständiga.

Inne i våran ‘GameState’ klass skapar vi ett Paus objekt samt en bool och en float. Boolen är till för att hålla koll på om spelet är pausat eller inte och floaten håller koll på vilken knapp som har blivit tryckt (Detta återkommer jag om längre fram i texten). Så nu sätts allt i uppdateringsfunktionen i ‘GameState’, förutom biten som ser till att uppdateringsfunktionen returnerar sant till våran ‘StateManager’, in i en if-sats som håller koll på om spelet är pausad eller inte. Medan i ritningsfunktionen så skapas det en if-sats som håller koll på om spelet är pausat, men den innehåller endast ritningsfunktionen till Paus funktionen samt de knappar som dyker upp i paus menyn. Detta leder till att skärmen kommer att visa upp spelet med paus menyn ovanför, vilket ger skärmen lite mer färg och mer rolig att titta på istället för en svart bakgrund.

PauseScreen.png
Hur det ser ut när spelet är pausat.

Och som det nämndes tidigare så har vi knappar i paus menyn och en float som håller koll på vilken knapp som har blivit tryckt. Dessa är dock skapade just nu i ‘GameState’, men kommer att sättas in i paus klassen senare efter andra viktigare saker. Detta kommer att göra så att paus klassen uppdateringsfunktion kommer returnera en bool som är sann om en knapp har blivit tryckt, samt så kommer en funktion som returnerar vilken knapp som har blivit tryckt att läggas in. Men detta kommer att fixas senare när tid finns, så knapparna kommer att finnas i ‘GameState’ tills dess.

Annonser
Vecka Sju: Pause

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut /  Ändra )

Google+-foto

Du kommenterar med ditt Google+-konto. Logga ut /  Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut /  Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut /  Ändra )

Ansluter till %s