Permalänk
Medlem

Android spel får inte till det

Vad jag försöker uträtta i mitt spel är lätt och enkelt att när en viss poäng uppnåts så ska hastigheten på ett spelobject förändras.
Här initierar jag boolen

public boolean bol = false;

Här sätter jag värde:

if(score == 2) { bol = true; }

Här använder jag den

if(gw.bol = true) { acceleration = new Vector2(0, 200); }

Värt att nämna är väl att dessa metoder ligger i olika klasser men har fixat så att de är åtkommliga.
Såhär tänkte jag: Jag sätter boolen till false. När 2 poäng är nått så blir boolen true. Och i klassen för spelobjektet så berätta jag att när boolen är true så ska accelerationen förändras till nytt värde.
Kan de finnas något vett bakom tanken? Eller är jag helt ute o fiskar?
Detta fick jag i felmeddelande ifall de betyder något:

Exception in thread "LWJGL Application" java.lang.NullPointerException at com.kilobolt.GameObjects.Bird.<init>(Bird.java:31) at com.kilobolt.GameWorld.GameWorld.<init>(GameWorld.java:32) at com.kilobolt.Screens.GameScreen.<init>(GameScreen.java:25) at com.kilobolt.ZombieBird.ZBGame.create(ZBGame.java:13) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)

Tackar på förhand ifall någon har en aning om problemet.

Permalänk
Inaktiv

I mina ögon ser felmeddelandet helt orelaterat ut till resten av inlägget. Fundera mer på varför du får NPE

Permalänk
Medlem
Skrivet av anon81912:

I mina ögon ser felmeddelandet helt orelaterat ut till resten av inlägget. Fundera mer på varför du får NPE

Tänkte likadant.. Testade två saker:
1. Ta bort dessa kodrader. Programmet funkar felfritt.
2. göra boolen till static, programmet funkar fast accelerationen förändras inte vid poängförändringen.

Permalänk
Medlem

Vad är det för kod på raderna du får felmeddelande för?

Litet "tips" bara; i din if-sats behöver du inte ha med "= true".

Visa signatur

i5 750 @ 3.9 GHz | NH-D14 | P7P55D |GTX 960 | Vulcan 8GB | Seagate 600 480 GB | Newton 650w | P280 | Dell U2515H

Permalänk
Medlem
Skrivet av Rydisen:

Vad är det för kod på raderna du får felmeddelande för?

Litet "tips" bara; i din if-sats behöver du inte ha med "= true".

Har inga felmeddelanden i koden. Allt verkar stämma. Det är när jag kompilerar koden som jag får det där meddelandet i Console.

Tack för input!

Permalänk
Medlem

Löste problemet äntligen! Tack för svar dock.

Permalänk
Medlem
Skrivet av Progrmor:

Har inga felmeddelanden i koden. Allt verkar stämma. Det är när jag kompilerar koden som jag får det där meddelandet i Console.

Tack för input!

Du deklararer ju variabeln i ifsatses till true. För jämförelser används 2 "=" så här " if(banan == true)" fast med booleaner böhver som tidigare inte nämnts kollas med == utan if(banan) räcker.

Visa signatur

i7-6700K | MSI Z170A | MSI 1080 8GB | 16GB Kingston HyperX | Intel 600P 256GB | Samsung EVO Basic 840 250GB x2 raid 0 | Corsair RM 750W | 3 x Dell U2414H

Permalänk
Medlem
Skrivet av Progrmor:

Löste problemet äntligen! Tack för svar dock.

Vad var det?

Visa signatur

i5 750 @ 3.9 GHz | NH-D14 | P7P55D |GTX 960 | Vulcan 8GB | Seagate 600 480 GB | Newton 650w | P280 | Dell U2515H

Permalänk
Medlem
Skrivet av Rydisen:

Vad var det?

Grovt och pinsamt nybörjarmisstag.. placera inte koden i update klassen... (Handen i pannan)