2009-10-19 38 views
1

這是一個Flash AS3遊戲項目。如何在AS3中爲弧中的顯示對象設置動畫效果?

玩家用槍控制角色。通過點擊屏幕,槍會以弧線點燃一枚導彈。

什麼是計算每個框架導彈x和y座標的最佳方法?

+0

這不是一個真正的答案,但也許看看http://www.dl.ket.org/physicshon/chapters/03_1-3/。如果你到底部是一個閃光活動教學拋射體運動 – Allan 2009-10-19 03:54:24

回答

5

那麼,弧線就是一個圓圈。對於圓形的通式是

x = r * cos(a) + cx 
y = r * sin(a) + cy 

r是圓的半徑,a是沿着圓(以弧度表示)的角度,和cxcy是圓的中心的座標。

因此,每幀你會增加角度(a),並重新計算這些公式的位置。

技巧將決定適當的半徑和中心點。你也許可以找出一個算法,它可以找到一個基於固定半徑的中心點。

編輯:在不同的半徑上獲得相同的速度。

爲了從角速度(弧度/秒)

v = Δa * r 

所以速度(像素/秒),如果我們挑選一些v,然後Δa = v/r其中v是一些常數,r是圓的半徑。

+0

你如何獲得不同距離的恆定速度。當我以一個恆定的速度增加角度時,導彈會加速到更遠的距離嗎? – 2009-10-19 21:36:03

+0

......它不會那麼做......你確定你的角度不斷增加嗎?並且你的角度是代碼中唯一改變的東西? – 2009-10-19 23:31:51

+0

如果圓直徑(距離)較大,那麼導彈就不必爲每個角度增量圍繞圓周行進? – 2009-10-19 23:42:02

2

我認爲這些導彈應在彈丸而非弧形路徑飛...

如果你真的關心有一個現實的運動,學習some physic equations

如果你只是想要一些簡單和卡通般的動作,使用TweenMax的bezier/bezierThrough將會非常容易。請參閱its plug-in explorer中的示例。


更新: 對於簡單的路徑補間,Grape Animation Library似乎太偉大!

相關問題