最近ゲーム中の演出を書いていて思いついたのですが、
現在、setEase命令で指定できる関数に、以下のような関数を、
ease_xxx_outin(xxxはcubicなど)という名前で追加するのはどうでしょうか。
「減速しながら、最大値・最小値の真ん中でいったん静止し、その後加速する」
y = x ^ 3の、xが0付近のyの動きです。
一応、上のようなアニメーションは、現行バージョンv3.4では
・最初と最後に分割する
repeat xx setEase 0, 100, ease_cubic_out pos getEase(cnt, xx), 0 await 24 loop repeat xx setEase 100, 200, ease_cubic_in pos getEase(cnt, xx), 0 await 24 loop
・3次関数を直接書く
repeat xx*2 x = powf(cnt - xx, 3) / powf(xx, 3) * 100 + 100 pos x, 0 await 24 loop
などという方法で書けますが、
前者はアニメーションする部分の記述が倍になってしまいますし、
後者は始点・終点の設定がしづらいコードとなってしまっています(中心点を設定して動く幅を指定)。
(ちなみに、カレントポジションは両方ほぼ同じ動きをします。)
このEase関数、どう思いますか?
(もしすでに実装予定でしたらごめんなさい...)