作者F23ko (純潔)
看板GameDesign
標題Re: [程式] 繞著目標旋轉前進的實作方法
時間Sat Jul 17 22:00:30 2010
※ 引述《yan04870449 (楊伯)》之銘言:
: 其實這個問題應該比較偏向數學
: 我想讓某一個物體以旋轉的方式朝著一個目標前近,
: 也就是說是繞著目標靠近的意思。
: 備註一下,這次是練習2D遊戲。
Vector2 Direction( 0.f, 1.0f );
Direction.x = Direction.x * Cos(90) + Direction.y * Sin(90) ;
Direction.y =
Direction.x * -Sin(90) + Direction.y * Cos(90) ;
問題可能出在這裡,X已經是新座標
: 我想到的方法是,每一個frame這個物體要移動的時候先算出與目標物的直線向量
: 然後在讓這個向量旋轉,上面的CODE寫90度,所以應該會變成一直繞著目標物轉圈
: 圈才對,可是我這樣子寫的結果與我的想法不一樣~"~
: 因為我對數學比較不熟,尤甚是向量、矩陣這類的,上網找資料惡補才有上面的公
: 式,但是也是沒有辦法做出我要的效果,麻煩各位前輩指點一下>"<感恩。
看你遊戲系統是怎麼設計,再去決定要怎麼處理會比較好。
其實繞圈前進可以拆解成兩個部分:
一個是繞圈
一個是前進
分開處理的話彈性比較大,邏輯上也比較簡單
--
我... 我一點都不糟糕啦!>///<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.27.109.99
推 yan04870449:沒錯耶,問題真的就是那邊@@感謝你。 07/17 22:33
→ Splash5:所以先算y再算x就好:p.. 07/17 23:31
推 yan04870449:不行吧,先算Y會有同樣的問題@@ 07/17 23:40
推 ddavid:他先算y就會因為後項而造成同樣問題。 07/18 00:06
→ ddavid:所以還是得乖乖用一個暫存來存新值,一次算完才Update上去 07/18 00:06
→ Splash5:沒看到算式後面有y XD.. 07/18 00:13