2016-05-27 12 views
1

今、私は家にいませんので、私はコードを投稿できませんが、ここに状況があります。私のアプリでは、タップした場所にボールを投げ、デスクトップコンピュータでうまく動作しますが、私のiPhoneでTestFlightで使用すると、まず2つの問題があります。最初はボールが決して地面に乗らないということですそれは決して跳ねることを止めることができない場面に落ちる、もう1つの問題は、私が私の電話でそれを使用しているとき、私がすばやくタップしてそれを解放すればいいが、もしiPhoneの画面を長く長押しすれば、方法は速く、高すぎます。私のボールは私のシミュレータのスピードスプライトキットよりも私のiPhoneで高いです。

applyImpulse()を使用してボールを撃っています。私はXcodeシミュレータでこれをしないので、なぜ動作しないのか分かりません。私のゲームでは、あなたが触れる時間に応じてボールのシュートを上げたり下げたりすることはありません。私の理論はボールがバウンスを止めないためです。私の試合では長く持ちます。 1.75)しかし、それは私のラップトップで決して上がらないので、私は本当に混乱しています。どんな助けもありがとう!

答えて

1

physicsbodyのlinearDampingプロパティを使用して、ボールを遅くすることができます。

applyImpulseを使用する代わりにapplyForceを使用します。applyForceは1フレームだけで動作し、インパルスはオブジェクトを高速化するために使用できます。

+0

私は周りに逆らっていたと思って、衝動は一度だけ起こり、力は時間が経つと間違っていますか?あなたはこれを知っている場所にソースを置くことができますか?回答ありがとうございます! – Timmy

+0

私は、ドキュメントを読んで、applyForceに関する議論を見てください:https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKPhysicsBody_Ref/#//apple_ref/occ/instm/SKPhysicsBody/applyForce: – matthiaswitt

+0

すべきです私はそれに回転を許可する? – Timmy

1

シミュレータは実装と異なるため、applyForceを使用してください。

関連する問題