[問題] 物件曲線移動

看板Flash作者 (roger)時間10年前 (2014/06/25 14:00), 10年前編輯推噓4(4017)
留言21則, 6人參與, 最新討論串1/1
最近試著在寫桌球的小遊戲 目前可以讓球從起點直線飛到落點的位置(算兩點間斜率) 可桌球飛行時畢竟是拋物線的,這樣直線移動完全不對 所以想問問有沒有高手知道,在已知兩座標的情況下 想讓物件曲線移動到另一點,用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

06/25 15:15, , 1F
三點才會決定唯一拋物線 http://wonderfl.net/c/eLME
06/25 15:15, 1F

06/25 17:35, , 2F
如果設定好遊戲中的重力數值應該可以?快還回去了..
06/25 17:35, 2F

06/25 17:38, , 3F
恩,仔細想了一下重力好像還要搭配許多條件...
06/25 17:38, 3F

06/25 18:09, , 4F
拋物線好難算…小弟都直接放棄~~
06/25 18:09, 4F

06/25 18:25, , 5F
做個垂直拋物的動畫,然後直接移動他就好XD
06/25 18:25, 5F

06/26 02:06, , 6F
最近也在搞這個,不過是C++...
06/26 02:06, 6F

06/26 20:47, , 7F
拋物線就二次函數,只是要有條件才能決定abc
06/26 20:47, 7F

06/27 00:27, , 8F
你既然已經可以直線飛行,改一下就好了...
06/27 00:27, 8F

06/27 00:30, , 9F
你每個frame移動前,把球的Y方向速度固定減去某值(其實就
06/27 00:30, 9F

06/27 00:31, , 10F
是g值),算出下一位置,整個連續下來,就會是(近似)拋物曲
06/27 00:31, 10F

06/27 00:33, , 11F
線,不過你的問題應該是:已知兩點,怎麼樣反推剛好經過這
06/27 00:33, 11F

06/27 00:34, , 12F
兩點的拋物線!不過當然你可以先固定某些條件,例如要幾個
06/27 00:34, 12F

06/27 00:37, , 13F
frame完成曲線運動/g值,然後反推初速與射角,就可達成.
06/27 00:37, 13F

06/27 00:38, , 14F
這些事我之前搞過,不過是C++,相信AS3也不會差很多.建議
06/27 00:38, 14F

06/27 00:40, , 15F
你找些"拋體運動"的資料來看,釐清觀念後,很快就能完成!
06/27 00:40, 15F

06/27 00:41, , 16F
另外建議,可以用向量的方式去寫這些code,拋物運動也用向
06/27 00:41, 16F

06/27 00:43, , 17F
量的方式去理解,可以省很多事!
06/27 00:43, 17F

06/27 01:39, , 18F
他的問題應該是反推沒錯 但解法同上
06/27 01:39, 18F

06/27 01:39, , 19F
比起公式 用V和g計算x跟y的沿路座標比較好想
06/27 01:39, 19F

06/27 03:45, , 20F
我是想先問 你的視角是怎樣? 俯視? 側視?
06/27 03:45, 20F
謝謝大家的回應,比較有方向了。我想做類似這網球遊戲的視角↓ http://www.gamedesign.jp/flash/tennis/tennis.html ※ 編輯: rogerforever (120.113.173.111), 06/27/2014 22:59:15

06/28 12:02, , 21F
那這樣你三度空間的運算應該是必要的 加上視角轉換
06/28 12:02, 21F
文章代碼(AID): #1JgcMONd (Flash)
文章代碼(AID): #1JgcMONd (Flash)