Score! fixa poängen
|
Den här veckan stod jag för att göra ett litet poängsystem och även skriva ut det på skärmen. Vad jag började med var att först skriva ut en ”hello world” så att jag såg att texten visades på skärmen. Jag upptäckte då att jag behövde en Font, så jag laddade ned en arial.ttf fil som innehåller textfonten. Det verkade tyvärr som att den filen var korrupt eller en fusk, efter lite hjälp från andra så blev jag hänvisad till en annan sida med fontfiler som fungerade. Det var surt att tid gick åt till att försöka hitta ett fel i koden då det egentligen var filen det var problem med, men jag lärde mig något på det… testa olika filer ifall koden inte fungerar kan det vara filen som är problemet. När jag sedan fått ut text på skärmen så började jag försöka skriva ut ”m_score” variabeln från player klassen, den håller i antalet poäng. Det fungerade inte att skriva ut antalet poäng direkt eftersom ”m_score” är en ”int variabel” och håller i siffror så kan inte ”setString” skriva ut poängen. För att lösa det var jag tvungen att skriva: m_showScore.setString(“Score: ” + std::to_string(player->GetScore())); std::to_string(poäng) ska omvandla ”int” till ”char” som ”setString” kan använda, det var så jag förstod det när jag skrev koden, jag fick det även snabbt förklarat för mig. Nästa utmaning då jag skapade poäng funktionen var att få den att placera sig i hörnet på spelfönstret. Jag valde att använda mig av spelarens position och bara förskjuta poäng uppritningen, felet som vi snabbt såg var om vi gör fönstret mindre så försvinner poängen utanför skärmen. Jag var tvungen att hitta ett sätt att poängen ska följa spelfönstret och position beroende på hur stort fönstret var. Lösningen är nedanför och förklaring nedanför koden. m_showScore.setPosition( ”m_showscore” är poängen, hur vi kommer åt spel fönstret är genom att skriva: Draw_manager->GetRenderWindow()->. Tack för att du tittade in! |
