else 文を使用する

 
 
 

エクスプレッションで目標の結果を得ることはできましたが、必要以上に複雑になってしまいました。if-else 文を使用すると、ステートメントをよりシンプルで読みやすいものにすることができます。

  1. エクスプレッションを次のように変更します。
    if (time < 2)
    	Balloon.translateY = 0;
    if (time < 2)
    	Balloon.scaleY = time;
    else
    	Balloon.translateY = time - 2;
    
  2. 編集(Edit)ボタンをクリックします。
  3. アニメーションを再生します。

    アニメーションは前とまったく同じように再生されます。

    この変更では、if 条件文に else 文が加わっています。else 文は、if 条件文が true (真)でない場合にオプションとして使用されます。else キーワードにより、「 (time < 2) 」が false (偽)の場合に、Balloon.translateY が「time - 2」に設定されます。if 文と else 文の組み合わせを日本語に言い換えると、「time が 2 秒未満の場合、Balloon.scaleY に time の値を設定する。それ以外の場合、つまり time が 2 秒以上の場合は、Balloon.translateY に time から 2 を引いた値を設定する」となります。

    アニメーションの再生中はいつでも、「Balloon.scaleY = time」か、「Balloon.translateY = time - 2」のどちらかが実行されます。両方が実行されることは絶対にありません。else 文は、その前に来る if 条件が false (偽)の場合のみ、実行されます。

    time が 0 と等しい場合はいつでも最初の if 文が実行されます。if-else 文とは関係がありません。

    複数の if 文ではなく、else 文を使用することで、エクスプレッションが読みやすくなります。だらだらとした if 文を使用する代わりに if-else 構造を使用することにより、エクスプレッションの実行スピードを上げることもできます。これにより、アニメーションの再生とレンダリング スピードが向上します。

    どちらのエクスプレッションも正当なものです。if-else 構造がわかりづらいと思われる場合は、複数の if 文を使用してください。

    エクスプレッションによるアニメーションは、ほとんどの場合、複数の if 文を次々と記述することによって作成できます。

  4. アニメーションを停止して、開始時間に戻ってください。