看板 GameDesign 關於我們 聯絡資訊
※ 引述《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