2016-04-21 5 views
0

処理中にチックタックトー用のボタンクラスを作成しようとしています。クラスのための私のコードは私が間違ってやっているか見当もつかないが、私はNullPointerExceptionを受信し続ける処理のためのsetup()方法の内のコードが処理中に複数のクラスがある場合のヌルポインタ例外

Button startButton = new Button(this, 200, 200, 200, 200); 
startButton.drawButton(); 

あるこの

import processing.core.PApplet; 

public class Button extends PApplet{ 

    float buttonX; 
    float buttonY; 
    float buttonWidth; 
    float buttonHeight; 
    boolean cliked; 

    public Button(PApplet canvas, float buttonX, float buttonY, float buttonWidth, float buttonHeight) { 
     this.buttonX = buttonX; 
     this.buttonY = buttonY; 
     this.buttonWidth = buttonWidth; 
     this.buttonHeight = buttonHeight; 
    } 

    public void drawButton() { 
     rect(200, 200, 200, 200); 
     textSize(40); 
     fill(200, 200, 200); 
     text("Start Game", 300, 300); 
    } 

} 

です。

+2

スタックトレースがなく、関連コードのないNPE質問は解決できません。例外メッセージとstracktraceによって指されたコードの行にある@Dici – Dici

+1

@DiciこれはJavaの質問ではなく[タグ:処理]の質問であることに注意してください。 'NullPointerException'はスタックトレースを持たず、典型的なJavaの理由によるものでもありません。 –

+1

@KevinWorkman stacktraceはありませんか?例外がどこにあるかをどのように知ることができますか? 「ヌル」とは何ですか?これらの質問は本当に混乱しています。たぶん、Javaタグを削除するとよいでしょうか? – Tunaki

答えて

1

これは、PAppletという2つのクラスがあるためです。 PAppletを拡張するクラスを1つだけ用意してください。そのクラスをあなたのスケッチと考えると、他のすべてのクラスはそれを参照してスケッチに物を描く必要があります。

ButtonコンストラクタにPApplet canvasを渡します。 ButtonクラスをPAppletに拡張する代わりに、そのcanvas変数を使用して図面を作成する必要があります。

import processing.core.PApplet; 

public class Button{ 

    PApplet canvas; 
    float buttonX; 
    float buttonY; 
    float buttonWidth; 
    float buttonHeight; 
    boolean cliked;  

    public Button(PApplet canvas, float buttonX, float buttonY, float buttonWidth, float buttonHeight) { 
     this.canvas = canvas; 
     this.buttonX = buttonX; 
     this.buttonY = buttonY; 
     this.buttonWidth = buttonWidth; 
     this.buttonHeight = buttonHeight; 
    } 

    public void drawButton() { 
     canvas.rect(200, 200, 200, 200); 
     canvas.textSize(40); 
     canvas.fill(200, 200, 200); 
     canvas.text("Start Game", 300, 300); 
    } 
} 
関連する問題