[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:01716] Re: 衝突したときにアニメーションさせる方法



【楽●天】★みんなで買えば安くなる。買ってお得な〜「楽天共同購入」!!
┏━┓┏━┓┏━┓┏━┓┏━┓┏━┓ ♪2月13日までのプレゼント!
┃音┃┃楽┃┃ギ┃┃フ┃┃ト┃┃券┃ ♪買い物と同時にプレゼントも
┗━┛┗━┛┗━┛┗━┛┗━┛┗━┛ ♪手にいれちゃおう!
まずはアクセス     http://www.rakuten.co.jp/groupbuy/?PR010cast 
------------------------------------------------------------------------


えんどうです。

> ある物体と衝突判定したときに、
> その物体にアニメーションをさせたいと思っているのですが、
> どのような方法を使ったら良いのでしょうか?

      (G)
       |
[I]-->(TG) // アニメーション対象のTransformGroup
 :     |
[B]--><S> // 衝突検知対象の物体

 [I]:Interpolator
 [B]:Behavior

こんな構造でしょうか。

 0.Interpolatorを生成するが setEnable(false)としておく

 1.衝突(WakeupOnCollisionEnter/WakeupOnCollisionMovement等)
   発生時に Interpolator#setEnabled(true) を実行

 2.Alpha#setStartTime(System.currentTimeMillis()) を実行
   現在時刻から開始させる

 3.衝突解除(WakeupOnCollisionExit)時にsetEnabled(false)を実行

こんな感じかな..問題は3.が発生しないときがあることです。

1回アニメーションすれば良いのなら
2.でAlhpa#setLoopCount(1) としてください。

-- 
ENDO Yasuyuki <yasuyuki@xxxxxxxxxxxx>
http://www.ss.iij4u.or.jp/~eyasuyuk/ (Personal/Japanese Only)
http://www.javaopen.org/jfriends/ (Japanese Only)