我正在尝试为Processing中的tic tac toe游戏制作一个按钮类。我的课程代码是这个
setup()
处理的Button startButton = new Button(this, 200, 200, 200, 200);
startButton.drawButton();
方法内的代码是
NullPointerException
我不知道我做错了什么,但我一直收到width: calc()
。
答案 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);
}
}