torsdag 5 mars 2015

Meny Knapperna.

Det jag tänker beskriva den här veckan är Menyknapparna som jag kodade.

Jag började med att göra en ny klass och i stort sett bara skriva av tidigare kod som jag behövde till menyknapparna. Jag försökte att skriva likadant som i andra klasser då det då blir lättare för gruppen att läsa och snabbt hitta i koden.

Meny kommer troligtvis att bestå av dessa sex olika knappar:
Start / Play. Som startar spelet och hoppar då in i gamestate.
Credits. Som bara byter bakgrundbild och visar våra namn, samt gör de andra knapparna osynliga.
Quit / exit. Som sedan gör de andra knapparna osynliga och gör ”Yes” och ”No” synliga.
CreditsReturn. Den här knappen kommer fram när man trycker på ”Credits” och ska ta spelaren tillbaka till start skärmen.
Yes. På den skärmen kommer spelet att fråga om du verkligen vill avsluta spelet och om du trycker på ja så avslutas spelet.
No. Om spelaren trycker på ”No” så går spelet tillbaka till att bara visa ”Start,Credits,Quit”

Meny knapparna har en hover effekt som är, när spelaren drar med musen över en knapp ska knappen byta bild / sprite. Till skillnad från föremålen som byter sprite när spelaren kommer nära föremålen så ska menyknappen byta sprite när musen är innanför knappen. Knappen är för tillfället 350x100 pixlar och har en placeholder sprite som är bara en blå bild när man inte håller över knappen och sen byter den till grön när man håller musen över knappen.
Mellanrummet mellan knapparna i lodrät riktning är för tillfället 50 pixlar.
Extra knappar som ”Yes”,”no” och ”CreditsReturn” är placerade på mitten av skärmen längst ned.

Problem som jag stötte på under utvecklingen av menyknapparna var att knapparna inte bytte bild då muspekaren drog över knappen, efter lite hjälp av en gruppmedlem insåg vi att ”MenuState” inte hade knapparnas ”update” i ”statets update”. Det löste jag genom att skriva:
”Start->Update(); ” och så vidare för alla knapparna i ”MenuStates Update” funktion.
Ett till problem var att jag inte satt ut positionen för alla kollisions boxar och då uppstod ett litet problem då alla boxar var på samma plats och snett ovanför den första meny knappen. Jag fixade problemet snabbt men det var ändå lite slarvigt av mig när jag skrev klassen.

Det som gick bra var att jag snabbt fick ihop knappklassen så att den fungerade även om inte just hover effekten fungerade så fungerade det ändå att trycka på knapparna.

Tack för visat intresse! Kom gärna med kommentarer och om jag missat någon viktig information eller något ni undrar över.

Hoppas alla får en bra helg!
// Andreas Lundmark

1 kommentar:

  1. Hejsan Andreas! Jag har kodat exakt samma klass som du har, menyn. Det verkar som att vi båda har haft liknande problem, men att vi har lyckats fixa problemen relativt enkelt. Du beskriver tydligt om vad er meny ska innehålla och vad de olika knapparna ska göra. Tycker även att det är bra att ni låter spelaren få en chans att ångra sitt val om man skulle råka trycka på Quit av misstag.

    Du beskriver problemen på ett bra sätt. Det är enkelt att förstå vad för problem det var och hur du löste problemet. Det är även intressant att ni har med hovereffekt till era knappar, det har vi också tänkt ha i vårt spel.

    Bloggposten var bra då jag har jobbat med samma sak och har haft liknande erfarenheter samt problem med att jobba med menyn. Man förstår innebörden av att komma ihåg att uppdatera objekten i ens klass i Update(). Tycker det är lite småkul att vi har haft i princip samma problem, med knappar på samma ställe och kollision som inte fungerar från början. Men det är trevligt att saker löste sig för dig!

    Det var vissa småfel grammatiskt/stavmässigt sett i texten, men det är ingenting som tar ifrån informationen i sin helhet. Så fortsätt jobba på Andreas! Ser bra ut, och tare piano!

    //Olle Staffas

    SvaraRadera