Hey Leute,
ich arbeite gerade an einem simplen Spiel. Allerdings bekomme ich eine NullPointException beim benutzen des Canvas an dieser Stelle(nur an dieser Stelle):
Hier der Aufruf:
Sowie die Fehlermeldung:
Die selbe Methode benutze ich auch an anderen Stellen, dort funktioniert sie einwandfrei.
Danke für eure Hilfe
Dechasa
ich arbeite gerade an einem simplen Spiel. Allerdings bekomme ich eine NullPointException beim benutzen des Canvas an dieser Stelle(nur an dieser Stelle):
Code:
public void ausgeben(Canvas c){
if(!hit){
c.drawCircle(x, y, RADIUS + 2, UMRANDUNG);
c.drawCircle(x, y, RADIUS, paint);
} else{
getroffen(c);
hit = false;
}
}
Hier der Aufruf:
Code:
if (getroffen) {
//ks gibt nur den Aufruf weiter, mit dem Canvas
ks.einfuegen(new Kreis(x, y));
ks.ausgeben(canvas); //In der Zeile kommt der Fehler
ks.root.getDaten().setHit();
} else {
if (!alreadyFailed) {
alreadyFailed = true;
} else {
//SPIEL BEENDET!
}
}
Sowie die Fehlermeldung:
Code:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Canvas.drawCircle(float, float, float, android.graphics.Paint)' on a null object reference
at de.dechasa.liste.Kreis.ausgeben(Kreis.java:54)
at de.dechasa.liste.Knoten.ausgeben(Knoten.java:30)
at de.dechasa.liste.Kreisschlange.ausgeben(Kreisschlange.java:31)
at de.dechasa.squarebrains.MainActivity$DrawView.dispatchTouchEvent(MainActivity.java:80)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2407)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2407)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2407)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2407)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2407)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2049)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2414)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1758)
at android.app.Activity.dispatchTouchEvent(Activity.java:2808)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:60)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2375)
at android.view.View.dispatchPointerEvent(View.java:8701)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4267)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4133)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3683)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3736)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3702)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3819)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3710)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3876)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3683)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3736)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3702)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3710)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3683)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5958)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5932)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5903)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6059)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:143)
at android.os.Looper.loop(Looper.java:122)
at android.app.ActivityThread.main(ActivityThread.java:5569)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:931)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:726)
Danke für eure Hilfe
Dechasa