我是一個相當新的應用程序開發者,並且對於Sprite Kit來說是非常新的。我正在創造一個遊戲,我想要一個球始終向下墜落,就好像它在重力狀態下一樣。這只是一個2D應用程序,所以我想要的是當球落下時,當您將手機向左傾斜時,球向下移動並離開屏幕,如果您將手機向右傾斜,則球向下並在屏幕上向右移動。爲了得到更好的畫面是什麼我想我在Photoshop做了一個快速圖:如何最好地給出落球實際世界萬有引力
我只是想一些意見上這是最簡單的和最好的方式。我的第一個想法是記錄偏航並用它來決定球向左或向右移動多遠。這需要進行一些計算才能使球完全落入90度,雖然聽起來對我來說是可能的,但我不確定這是否可行。
有沒有人認爲這是做到這一點或有沒有更好的辦法呢?
當我嘗試出我的第一個想法時遇到的一個問題是當我傾斜手機,球左右移動(沒有任何適當的計算,因此完全不準確),我會將手機向左傾斜(例如),我越傾斜它,它變得越不敏感,所以球就會少走。這將阻止我的想法工作,我不確定是否有辦法解決它。
我遇到的一個更大的問題是當我坐在座位上轉動時,偏航也會改變!我認爲這與指南針有關,因爲我沒有這樣做,所以滾動或音高都不會改變。我相信可以做些什麼來糾正這一點,因爲我從來沒有使用陀螺儀玩的遊戲出現這個問題。如果有人能夠用正確的方向指出我的意思,我會很感激,或者我可以在另外一個新問題中提問。下面是我在photoshop中快速繪製的另一個圖表,以幫助解釋問題。圖1是我希望能夠傾斜手機的方式,但當您轉身時(圖2),球會左右移動,具體取決於您轉身的距離。 (是的,這意味着是一個人拿着手機在圖2)
幫助將不勝感激!
非常感謝您的幫助。我的代碼在我的項目中工作,但我不確定如何讓它移動球,因爲我不能只乘以x值的屏幕寬度,所以你會建議什麼?我相信這比我想象的要簡單,但我想不出一個辦法。我知道你從一個聽起來非常不同的項目中抽取了代碼,但比我更有經驗的人可能能比我更好地工作!謝謝! –
也許墜落物體的位置公式會有所幫助?位移= 1/2g t^2,其中g是剛剛找到的重力矢量,t是經過的時間。更多[這裏](http://en.m.wikipedia.org/wiki/Equations_for_a_falling_body)。 –
哦,我忘了你正在使用SpriteKit。我對API不熟悉,但是不存在可以插入該向量的重力行爲? –