所以我正在使用Processing IDE并继续获得这个奇怪的空指针异常。
线程“main”中的异常java.lang.NullPointerException
在processing.core.PApplet.displayable(PApplet.java:9944)
在processing.core.PApplet.main(PApplet.java:7425)
这就是我得到的所有信息,所以我甚至无法追踪到它发生的地方。这是我的代码
import TUIO.*;
TuioProcessing tuioClient;
Vector tuioCursorList;
Point cols[][];
void setup(){
size(1440,900);
tuioClient = new TuioProcessing(this);
tuioCursorList = tuioClient.getTuioCursors();
init();
}
void draw(){
background(0);
}
void init(){
cols = new Point[width][height];
for(int i = 0; i<width;i++){
for(int x = 0; x<height;x++){
cols[i][x] = new Point(i,x);
}
}
}
class Point{
int x, y;
boolean alive;
int life;
int pointColor;
Point(int _x, int _y){
x = _x;
y = _y;
pointColor = 0;
alive = false;
fill(pointColor);
point(x, y);
}
void checkStatus(){
if(alive = true){
isAlive();
}
else{
isDead();
}
}
void isDead(){
pointColor = 0;
life = 0;
}
void isAlive(){
pointColor = 255;
life = 100;
}
void kill(){
life--;
}
}
// called when an object is added to the scene
void addTuioObject(TuioObject tobj) {
println("add object "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+tobj.getX()+" "+tobj.getY()+" "+tobj.getAngle());
}
// called when an object is removed from the scene
void removeTuioObject(TuioObject tobj) {
println("remove object "+tobj.getSymbolID()+" ("+tobj.getSessionID()+")");
}
// called when an object is moved
void updateTuioObject (TuioObject tobj) {
println("update object "+tobj.getSymbolID()+" ("+tobj.getSessionID()+") "+tobj.getX()+" "+tobj.getY()+" "+tobj.getAngle()
+" "+tobj.getMotionSpeed()+" "+tobj.getRotationSpeed()+" "+tobj.getMotionAccel()+" "+tobj.getRotationAccel());
}
// called when a cursor is added to the scene
void addTuioCursor(TuioCursor tcur) {
println(tcur.getX()+", "+tcur.getY());
}
// called when a cursor is moved
void updateTuioCursor (TuioCursor tcur) {
println(tcur.getSessionID() + " - " + tcur.getX()+", "+tcur.getY());
}
// called when a cursor is removed from the scene
void removeTuioCursor(TuioCursor tcur) {
}
// called after each message bundle
// representing the end of an image frame
void refresh(TuioTime bundleTime) {
redraw();
}
任何人都可以帮我弄清楚这个奇怪的错误。任何帮助将不胜感激
答案 0 :(得分:3)
将您的init()
功能重命名为其他功能。您实际上正在覆盖Processing的内置类的init()
函数。