Blog 3 -5SD033
|
Hej mitt namn är Robin och denna vecka har jag jobbat med menyerna i vårat spel, hur menyerna ska fungerar samt hur man ska navigera sig igenom dom. De menyer vi har planerat att använda oss av är en huvudmeny där man ska kunna gå direkt till dom andra olika menyerna så som ”options”, ”leaderboard” och eventuellt någon sorts ”credits” eller liknande och spelet såklart. Jag jobbade som sagt var med dom olika menyerna och hur man ska navigera sig runt i dom. Jag började med att kolla runt lite på hur man skulle kunna göra själva menyerna och bestämde mig ganska snabbt för att använda tangentbordet för att navigera i menyerna. Sen hur jag gjorde själva menyerna var att jag lät spelet starta i en meny scen, därifrån så väntar spelet konstant på input från spelaren via tangentbordet när spelaren till exempel trycker på enter knappen så byter spelet scen och går direkt till själva spel tillståndet. Hur det rent kodmässigt fungerar är att jag har tre olika scener just nu (kommer antagligen bli fler senare), varje scen har ett nummer från 0-2 där meny scenen är 0 och scenen när du förlorar är 2. När du startar spelet så börjar spelet i meny scenen och väntar på input i form utav if (sysInfo.inputMngr->wasKeyPressed(sf::Keyboard::Key::Return)) { Så ifall just enter knappen blir nedtryckt så kommer spelet gå vidare till nästa scen, vilket i det här fallet är att den går direkt till själva spelet. Det är en ganska enkel process som går ungefär såhär, om knappen blir nedtryckt så sätt ”nextscene” till 1, och när ”nextscene” är 1 så går den till själva spelet. Ett par problem jag har haft med själva menyn är att den i början antingen inte vill byta till den scenen jag hade satt att den skulle byta till eller att den efter ett tag bara hoppade över till en scene. Hur jag löste det var helt enkelt genom att försöka googla mig fram till några svar och kollade några tutorialer samt att jag testade mig fram i koden och kollade vad som skulle kunna vara fel. Det visade sig vara att när jag tog emot input från spelaren så hade jag helt enkelt råkat byta ut i vilken ordning scenerna ligger i, vilket nu i efterhand var ett otroligt korkat misstag. Det andra problemet jag hade med att den efter ett tag bara bytte scen, hade med att gör att om man startade upp programmet och direkt när det hade startats, tryckte man på enter knappen så blev det mer eller mindre input lag som gjorde att det tog en stund för programmet att förstå att du hade tryckt på knappen.
|
