看板 Flash 關於我們 聯絡資訊
最近試著在寫桌球的小遊戲 目前可以讓球從起點直線飛到落點的位置(算兩點間斜率) 可桌球飛行時畢竟是拋物線的,這樣直線移動完全不對 所以想問問有沒有高手知道,在已知兩座標的情況下 想讓物件曲線移動到另一點,用as3要怎麼寫? [似乎比較像數學問題] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.113.173.111 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1403676056.A.5E7.html ※ 編輯: rogerforever (120.113.173.111), 06/25/2014 14:02:19
cjcat2266:三點才會決定唯一拋物線 http://wonderfl.net/c/eLME 06/25 15:15
KawasumiMai:如果設定好遊戲中的重力數值應該可以?快還回去了.. 06/25 17:35
KawasumiMai:恩,仔細想了一下重力好像還要搭配許多條件... 06/25 17:38
mucoci:拋物線好難算…小弟都直接放棄~~ 06/25 18:09
puivujh:做個垂直拋物的動畫,然後直接移動他就好XD 06/25 18:25
tomnelson:最近也在搞這個,不過是C++... 06/26 02:06
KawasumiMai:拋物線就二次函數,只是要有條件才能決定abc 06/26 20:47
tomnelson:你既然已經可以直線飛行,改一下就好了... 06/27 00:27
tomnelson:你每個frame移動前,把球的Y方向速度固定減去某值(其實就 06/27 00:30
tomnelson:是g值),算出下一位置,整個連續下來,就會是(近似)拋物曲 06/27 00:31
tomnelson:線,不過你的問題應該是:已知兩點,怎麼樣反推剛好經過這 06/27 00:33
tomnelson:兩點的拋物線!不過當然你可以先固定某些條件,例如要幾個 06/27 00:34
tomnelson:frame完成曲線運動/g值,然後反推初速與射角,就可達成. 06/27 00:37
tomnelson:這些事我之前搞過,不過是C++,相信AS3也不會差很多.建議 06/27 00:38
tomnelson:你找些"拋體運動"的資料來看,釐清觀念後,很快就能完成! 06/27 00:40
tomnelson:另外建議,可以用向量的方式去寫這些code,拋物運動也用向 06/27 00:41
tomnelson:量的方式去理解,可以省很多事! 06/27 00:43
KawasumiMai:他的問題應該是反推沒錯 但解法同上 06/27 01:39
KawasumiMai:比起公式 用V和g計算x跟y的沿路座標比較好想 06/27 01:39
scars:我是想先問 你的視角是怎樣? 俯視? 側視? 06/27 03:45
謝謝大家的回應,比較有方向了。我想做類似這網球遊戲的視角↓ http://www.gamedesign.jp/flash/tennis/tennis.html ※ 編輯: rogerforever (120.113.173.111), 06/27/2014 22:59:15
scars:那這樣你三度空間的運算應該是必要的 加上視角轉換 06/28 12:02