11/05/11 05:18:30.43 Pz6rY8GN0
>>293
無理矢理書くなら以下のように書けるけど、6フレーム目から急加速して減速するという動きになる。
Ease()は2点間で加減速させることしかできないので動きが不連続になる。
PointFProperty pos = (PointFProperty)ExpressionUtils.GetProperty(Property.ThisProperty, "位置");
pos.Y = ExpressionUtils.Ease(0, -320, 5, -142, Property.Index, 1); // 最初は等速
if(Property.Index >= 5){
pos.Y = ExpressionUtils.Ease(5, -142, 9, 0, Property.Index, 0.4); // 6フレーム目から減速
}
そもそも>>290の条件では、6フレーム目から自然に減速して10フレーム目で目的の位置にたどり着くことはできない。
10フレームで(0,-320)→(0,0)に等速変化した場合6フレーム目で(0,-142)。
残りの4フレームで減速したら(0,0)までたどり着けない。
>>291でやったように
pos.Y = ExpressionUtils.Ease(0, -320, 9, 0, Property.Index, 0.4);
として最初から減速させていくか、Ease()を使わずにエクスプレッションを書くか、
エクスプレッションを使わずにキーフレームで調整してみたほうがいい気もする。