processing floatについて

投稿者: Anonymous

processing初心者です。
xに値を入れていないのに
x += (targetX – x) * easing;
という計算をしているのが不思議です。
javascriptならvar x = 1;など書いて初めて計算が出来るはずなのですが。

float x;
float easing =0.1;
void setup(){
size(220,120);
}

void draw(){
float targetX = mouseX;
x += (targetX - x) * easing; ←
ellipse(x, 40, 12, 12);
}

解決

Processingのプリミティブ型は、基本的にJavaと同じと考えて良いので、

http://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.12.5

によれば、float型の変数は、特に指定しなければ0.0fで初期化されます。

coupyさんの書かれているように、変数の宣言時に望ましい値で初期化するのが行儀の良いプログラミングだと思います。初期化をしないで使うのは気持ちが悪い、という感覚が好ましいと思いますので、そのままの感覚でおられて良いと思いますよ。(これって意見でしょうか?だったら、ごめんなさい。)

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *