滑らかに回転をするときの0°と360°との繋ぎ
■FLASH LABO:スクリプト
_rotationプロパティーでふんわりした動きで回転させたいとき、目標の値案まで割り算処理で近寄っていくとB Typeのような動きになってしまいます(゚皿゚)ガビーン
180から-180までの角度で回ってるらしく、-180と180の境をまたいだ瞬間逆回転してしまう…うーん…と、そこをどうにかならないかなといろいろ考えてみました。そこでうまく動いたのがA Typeです('u')
とりあえず現在角度と目的角度の値を0~360に収まるように変更。
180を超えた場合、360引いて調整。ってかんじでうまく動きました。
使用:function xy_r
ちなみにうまくいかなかったB Typeはこれ。
180から-180までの角度で回ってるらしく、-180と180の境をまたいだ瞬間逆回転してしまう…うーん…と、そこをどうにかならないかなといろいろ考えてみました。そこでうまく動いたのがA Typeです('u')
//A Type
onClipEvent (enterFrame) {
_tr = _root.xy_r(_parent.t._x - _x , _parent.t._y - _y)
_rDff = (_tr-_rotation+360)%360
if(_rDff > 180){ _rotation += (_rDff-360)/5 }else
if(_rDff > 1){ _rotation += _rDff/5 }
}
とりあえず現在角度と目的角度の値を0~360に収まるように変更。
180を超えた場合、360引いて調整。ってかんじでうまく動きました。
使用:function xy_r
ちなみにうまくいかなかったB Typeはこれ。
//B Type
onClipEvent (enterFrame) {
_tr = _root.xy_r(_parent.t._x - _x , _parent.t._y - _y)
_rotation += (_tr-_rotation)/5
}
