处理中具有多个类的空指针异常

时间:2016-04-21 21:05:51

标签: nullpointerexception processing

我正在尝试为Processing中的tic tac toe游戏制作一个按钮类。我的课程代码是这个

setup()

处理的Button startButton = new Button(this, 200, 200, 200, 200); startButton.drawButton(); 方法内的代码是

NullPointerException

我不知道我做错了什么,但我一直收到width: calc()

1 个答案:

答案 0 :(得分:1)

这是因为你有两个扩展PApplet的类。您应该只有一个扩展PApplet的类。将该类视为草图,然后所有其他类都需要引用它来绘制草图。

您将PApplet canvas传递给Button构造函数。您需要使用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);
    }
}