2014-12-31 59 views
0

我嘗試使用SpriteKit設計一款遊戲,但我有一個關於單位的問題。根據SpriteKit指南,它使用SI單位,我嘗試寫一個拋射體運動代碼。據flight time equationT-飛行= 2 * V-YComp /克SpriteKit速度單位和拋出

我在我的代碼應用以下參數:

V-YComp = 20 m/sec 
g = 10 m/sec^2 

根據上述參數,T-航班必須是4秒。

我申請速度用以下行到對象:

ball.physicsBody?.velocity = CGVectorMake(0, 20) 

作爲上述代碼的結果是,該對象不拋出。

繼在Xcode指導報價:

The physics body’s velocity vector, measured in meters per second. 

有什麼不對?

+0

也請記住,真實世界的物理方程常只能非常粗略地翻譯爲遊戲物理,即由此產生的行爲可能與現實的差別更大或更小,但從來沒有像真實世界那樣完全相同(即2D物理不適用通過空氣阻力等拖動) – LearnCocos2D

回答

0

您正在應用固定速度。

相反,你應該使用適用的衝動:

[ball.physicsBody applyImpulse:CGVectorMake(0, 20)]; 

此外,請記住,使其動態的,所以物理與你的精靈作品:

ball.physicsBody.dynamic = YES; 
+0

謝謝您的回答。我應用了這種方法。 SpriteKit指南將衝動描述爲「描述每個維度賦予多少動量的矢量......」。 p = m * v,我的物體質量爲0,087 kg,因此v = 230 m/s,T-Flight必須爲46s。但是,T-Flight在模擬器中是0.28s。我不明白SpriteKit中的物理。 –