我正在創建簡單的遊戲,並且達到了讓我感到無助的地步。我的幾何形狀很好,但很長一段時間回到學校,現在試圖讓我更加放鬆。Objective C遊戲幾何問題
比方說,我有iPad屏幕。對象在一個給定時間點的xy位置和另一個時間點的xy位置存儲在2個變量中。
問題: 如何找到在屏幕的端部的物體的第三位置被給予前2個位置時,考慮從第1點在相同的方向(行)的對象移動到點2
提前致謝。
我正在創建簡單的遊戲,並且達到了讓我感到無助的地步。我的幾何形狀很好,但很長一段時間回到學校,現在試圖讓我更加放鬆。Objective C遊戲幾何問題
比方說,我有iPad屏幕。對象在一個給定時間點的xy位置和另一個時間點的xy位置存儲在2個變量中。
問題: 如何找到在屏幕的端部的物體的第三位置被給予前2個位置時,考慮從第1點在相同的方向(行)的對象移動到點2
提前致謝。
如果對象是在相同的方向上移動和你有一個水平行,下一個位置給定的x和y是
x+1, y
如果對象是在相同的方向中的垂直線移動它將
x, y+1
如果對象是在對角線上向右移動
x+1,y+1
直徑五角右下方
x+1, y+1
角左下
x-1, y-1
對角線左上方
x-1, y+1
所以東西一般是:
newPosition = (x+1,y) //if you wish to move forward to the right, try to handle all
cases
所有上述情況如果物體正在移動,則工作前進,如果它正在向後移動,只需改變+ by - 。基本上將對象想象爲在笛卡爾座標系中移動,其中x是水平的而y是垂直的。
我認爲你可以得到的想法出來的這三例;)
讓我們有v1
和v2
是代表兩個點的載體。假設t0
是兩點之間的時間。設t
爲當前時間。
那麼,我們的位置矢量v3
由v3 = v1 + (v2 - v1)t/t0
在這種情況下你打算如何處理時間? – eLobato 2011-03-20 23:07:17
時間並不關心我,我有CADisplayLink * theTimer; – 2011-03-20 23:48:55
那麼你如何在對象c的特定時間點訪問v3的x和y。 – 2011-03-20 23:52:16
給這並不能解決所有可能的情況。 – alternative 2011-03-20 23:01:35
我知道,但它是一個開始 – eLobato 2011-03-20 23:07:32
我的對象通過觸摸移動。上述方法並沒有解決我的問題。如果我的第一個點100x 100y和第二個200x 458y,給定的方法將不起作用。我確定有一些基本的三角函數可以對它進行分類。有任何想法嗎? – 2011-03-20 23:46:31