30019


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

[code]

    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);
    }
    
[/code]


CC BY-SA 3.0
2016-10-31T08:06:13.727
30015
2016-10-31T12:16:12.047
18870
question
processing
processing floatについて


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

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

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

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


CC BY-SA 3.0
2016-10-31T12:16:12.047
30019
2016-10-31T12:16:12.047
19383
30015
answer