Re: [程式] 繞著目標旋轉前進的實作方法

看板GameDesign (遊戲設計)作者 (純潔)時間15年前 (2010/07/17 22:00), 編輯推噓3(303)
留言6則, 3人參與, 最新討論串2/3 (看更多)
※ 引述《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

07/17 22:33, , 1F
沒錯耶,問題真的就是那邊@@感謝你。
07/17 22:33, 1F

07/17 23:31, , 2F
所以先算y再算x就好:p..
07/17 23:31, 2F

07/17 23:40, , 3F
不行吧,先算Y會有同樣的問題@@
07/17 23:40, 3F

07/18 00:06, , 4F
他先算y就會因為後項而造成同樣問題。
07/18 00:06, 4F

07/18 00:06, , 5F
所以還是得乖乖用一個暫存來存新值,一次算完才Update上去
07/18 00:06, 5F

07/18 00:13, , 6F
沒看到算式後面有y XD..
07/18 00:13, 6F
文章代碼(AID): #1CGRU1Zg (GameDesign)
文章代碼(AID): #1CGRU1Zg (GameDesign)