在我的cocos2d遊戲中,我有我的玩家精靈,我想讓他在我傾斜我的iPhone的方向上移動。我可以解決這個問題,我不能解決的最難的是:點在傾斜方向 - iPhone
如何讓我的精靈旋轉指向我傾斜的方向?這在應用商店的「Tilt to Live」遊戲中表現得非常好。我想要那樣的控制。
我的精靈(對於那些不熟悉cocos2d的人)確實有一個旋轉值,如果有幫助的話。
謝謝。
在我的cocos2d遊戲中,我有我的玩家精靈,我想讓他在我傾斜我的iPhone的方向上移動。我可以解決這個問題,我不能解決的最難的是:點在傾斜方向 - iPhone
如何讓我的精靈旋轉指向我傾斜的方向?這在應用商店的「Tilt to Live」遊戲中表現得非常好。我想要那樣的控制。
我的精靈(對於那些不熟悉cocos2d的人)確實有一個旋轉值,如果有幫助的話。
謝謝。
如果你不喜歡上述,這裏有一個簡單的方法來獲得合理的結果!
把iPad放在你面前,讓LR左右傾斜,TA朝你/遠離你傾斜。所以LR從-90到90運行,TA從-90到90.(TA消極傾向於你的腹部。)
在屏幕上顯示這兩個數字,並移動設備,所以你確定你有開始的權利。在工作之前,你將無法做任何事情。
solutionAngle將像鍾針一樣,順時針方向,離你12點距離。
經歷這一決策鏈:
如果兩個LR和TA爲零,機器是平的。適當行事。
如果LR是平的(0),則答案爲0或180,具體取決於TA的符號。
如果TA平坦(0),則答案爲90或270,具體取決於LR的符號。
否則:
adjustmentAngle = 反正切(SIN(TA)/ SIN(LR))
//(NB,應該從-90運行90)
如果(LR> 0)finalResult = 90 - adjustmentAngle
如果(LR < 0),finalResult = 270 + adjustmentAngle
我認爲這樣做會的!希望能幫助到你!
IMO ...... 隨着時間的推移,一定要順利結果,感覺良好。
。
「我不確定現在(關於你自己的想法)的唯一的事情就是如何將其應用到我的球員嗎?我只是讓玩家旋轉值等於調整角度?「 ..您好Josh,是的,只需將旋轉設置爲您使用上述計算的最終角度即可!幸運的是,這很簡單。
如果你要轉換回度和弧度之間/脫穎而出,只需粘貼幾行代碼,每個人都使用:
#include <math.h>
static inline float degreestoradians (double degrees) {return degrees * M_PI/180;}
static inline float radianstodegrees (double degrees) {return degrees * 180/M_PI;}
。 ?
PS,這裏是你可能想書籤難以置信的方便圖:
。
「加速度不提供角度的原始數據。如何從原始數據中得到」
完全正確,我忘了提很抱歉。這是一種常見問題...
distanceFactor = square root of (x^2 + y^2 + z^2)
angle X axis = acos (x/distanceFactor)
angle y axis = acos (y/distanceFactor)
angle z axis = acos (z/distanceFactor))
你必須寫在屏幕上的三個角度,然後移動它,換句話說測試這個「物理單元測試」你寫的部分,然後再繼續!
這裏這麼多的答案之一:UIAccelerationValue angle
順便說一句,你很可能會看到,你可以通過簡單地將原始X的比例由原始Y值,而不是比得到一個粗略的結果這兩個正弦,在'adjustAngle'的表達......但無論如何現在不用擔心。
重要讀者應該注意的是,令人驚奇的新核心運動系統,處理大量的這個要求,根據您的需要。一探究竟!!!!!
希望它有幫助!
很酷,感謝您的選擇!也許你可以看看這個?它從實際的瓷磚到現場開發人員,但我無法看到如何應用他給出的代碼。如果你能解釋我如何能夠實際使用它,而不僅僅是它的意義,我將永遠感激! http://www.paradeofrain.com/2010/07/lessons-learned-in-tilt-controls/ – 2011-02-26 20:18:31
加速度計不提供角度的原始數據。如何從原始數據(通常爲-1到1,除非設備被強制移動)進入-90到90範圍,考慮到如果將設備保持在45度角,原始數據不會是0.5,但更喜歡0.7 – 2011-02-26 20:49:52
道歉,我沒有試圖寫你的樣本,因爲我知道一旦找出鏈接代碼將是理想的。我知道工作代碼位於鏈接頁面的底部,但我誤解了它是如何應用於玩家精靈的。我將嘗試你的第二個想法(我不使用Unity),我目前唯一不確定的(關於你自己的想法)是我如何將它應用到我的玩家?我只是讓玩家輪換值等於adjustAngle嗎? – 2011-02-26 20:50:50