Denna Vecka: Meny

Denna vecka har jag jobbat med att göra en meny för spelet.

Så jag började med att göra en bild med olika meny alternativ som start, options och avsluta.

För att testa att koden skulle funka så gjorde jag en snabb bild som inte är särskilt snygg men som fyller sin funktion.

Menu_Pic

Då detta bara var en prototyp av meny så använde jag enkla metoder för att få den att funka.

Jag skapade en meny klass där jag skapade en sprite*(pekare) funktion som jag kallar GetSprite och en vector2f funktion som jag kallar GetPosition.

I main så skapar jag en meny* funktion som ska jag kallar CreateMenu. I den så skapar jag en texture*(pekare) och en Sprite*. Jag använder texturen för att ladda bilden och gör en intRect som innehåller position på x,y och storlek på bilden. Sen skapar jag en meny* där jag skickar med spriten och positionen på x och y. Då det är en meny* funktion så måste den retunera något. Då returnerar jag meny*.

Sen i början av main så måste jag deklarera funktionen som jag skapade. Då passar jag på att skapa en ny meny* som jag kallar TheMenu.

Efter det så gör jag så att TheMenu är lika med CreateMenu.

Sen kör jag fönster* och kallar på rita funktionen i den parentesen så skickar jag in *TheMenu och kallar på GetSprite funktionen i meny klassen.

Men nu så har jag bara gjort bilden och då gjorde jag en bool som jag kallar menuState med den kollar jag om jag har klickat på något av dem tre meny alternativen.

För att fixa en ruta där jag kan klicka skapar jag en intRect där jag ger positionen på vänstra övre hörnet och storleken på rutan. Sen kallar jag på vår inputmanager där jag kollar om muspositionen stämmer överens med rutans position. Sen kollar jag om vänstra mus knappen är intryckt. Och om alla saker stämmer överens och menuState är sant så kör jag att menuState blir falskt.

Sen om menuState är falskt så rensar jag fönstret och byter bild.

När jag skulle lägga in detta i vårt stora projekt så får jag ett pekar fel men eftersom koden kopierad från det andra projektet så borde det inte vara fel.

Jag har inte kunnat skriva designmässigt då detta mer var ett test för att göra en meny. Jag vet att jag har skrivit hur jag har kodat det som man inte ska göra men vad ska man göra när man har svårt att få ihop 400 ord på två eller tre artefakter och måste skriva om en. Dessutom har jag inte hunnit mer denna vecka p.g.a. sjukdom. Hoppas att detta räcker.

Tack för mig

//

Andreas Sjögren

Lämna en kommentar