これはクラスのコードです:
class Circle extends PApplet {
//var declarations
Circle(int duration, int from, int to, PApplet parent, int x, int y, int length, int height){
this.ani = new Tween(parent, 1.3f, Tween.SECONDS, Shaper.QUADRATIC);
Class s = Shaper.QUADRATIC;
this.from = from;
this.to = to;
this.len = length;
this.height = height;
this.x = x;
this.y = y;
}
void update(){
int c = lerpColor(this.from, this.to, this.ani.position(), RGB);
fill(c);
ellipse(this.x, this.y, this.len, this.height);
}
}
update()
適切にシードされたバージョン(以下の例を参照)で実行するとCircle
、次のスタックトレースが取得されます。
Exception in thread "Animation Thread" java.lang.NullPointerException
at processing.core.PApplet.fill(PApplet.java:13540)
at ellipses.Circle.update(Ellipses.java:85)
at ellipses.Ellipses.draw(Ellipses.java:39)
at processing.core.PApplet.handleDraw(PApplet.java:2128)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
at processing.core.PApplet.run(PApplet.java:2006)
at java.lang.Thread.run(Thread.java:662)
内部fill()
では、あるべきではないのに何かがnullであることがわかります。最初は、渡された値fill()
がどういうわけか間違っていると思います。の値はからfill()
来るlerpColor()
ので、おそらく私はlerpColor()
間違って使用しました。
私のインスタンスはCircle
次のようになります。
int c1 = color(45, 210, 240);
int c2 = color(135, 130, 195);
cir = new Circle(1, c1, c2, this, 100, 200, 140, 140);
cir.update();
fill()
では、どうすれば/lerpColor
正しく使用できますか?
(ところで、私はEclipseでの処理とproclipsingを使用しています。)