エクスプレッションで目標の結果を得ることはできましたが、必要以上に複雑になってしまいました。if-else 文を使用すると、ステートメントをよりシンプルで読みやすいものにすることができます。
if (time < 2)
Balloon.translateY = 0;
if (time < 2)
Balloon.scaleY = time;
else
Balloon.translateY = time - 2;
この変更では、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 文を使用してください。