問題タブ [skphysicsworld]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - applyImpulse を使用してカスタム ベジェ パスをたどって、ポイント A からポイント B にノードを移動する方法
SKPhysicsBody の applyImpulse メソッドを使用して、カスタム ベジェ パスをたどって、ポイント A からポイント B にノードを移動できるようにしたいと考えています。applyImpulse を使用する理由は、最初のインパルスに応じて自然な動き (速く開始して遅くなる) をシミュレートするためです。applyImpulse を介してオブジェクトにインパルスを適用すると、環境との摩擦によって速度がゼロになったときにのみ停止するようです。私はそれが私の道をたどり、最後に止まるようにしたい. どうすればそれについて行くことができますか?
ios - 物理体カテゴリのビットマスク値の設定
次のように、コードでさまざまなビットマスク カテゴリを宣言しています。
私のゲームは、これらのカテゴリを使用して問題なく動作しています。
ただし、さまざまなサンプル プロジェクトやチュートリアルでは、ビットマスク値が次のように定義されています。
質問
これらの値を宣言するためにこのメソッド (ビットごとのシフト) が使用されるのはなぜですか? また、これらの値を宣言し、連絡先デリゲートで比較するのに最適な方法はどれですか?
ios - PhysicsBody 衝突で SpriteKit FPS が低い
私の SpriteKit ゲームでは、ランダムに配置された多数のタイル ノード (>100) があり、タイルとキャラクター ノード間の衝突を検出できる必要があります。これを行うには、SKPhysicsBody を使用します。
SKPhysicsBody コードを有効にすると、フレーム レートが約 40 fps に低下することがわかりましたが、コードをコメント アウトすると、60 fps に上がります。これは、エンジンがフレームごとに 100 以上のノードの物理をシミュレートしようとしていることに関係していると思います...これが起こらないようにしながら、キャラクターとタイルの間の衝突を検出する方法はありますか?
タイルの物理演算については、タイルに次のコードを使用しています。
そして私のキャラクターのために:
ios - SKPhysicsJoints が接続された SKSpriteNode をズーム/スケールできません
ゲームで「ズーム」インおよびズームアウトできるようにしたいのですが、親の「ワールド」SKNode をスケーリングすると、ジョイントは SKScene (ルート ノード) に追加する必要があるため、それに応じてスケーリングされません。 .
SKScene のサイズを変更することはできますが、私が子供として持っている HUD グラフィックスはそれに合わせて拡大縮小されます。
HUD を SKView の子として作成することを検討しましたが、Apple の推奨に反するようです。また、SKScene トランジションを使用する利点が失われ、代わりに多数の ViewController を処理することになります。
SKSpriteNode をスケーリングし、それに合わせてジョイントをスケーリングする方法に関する提案はありますか?
ios - bodyWithBodies SKPhysicsBody
Apple のドキュメントは、このクラス メソッドを効果的に実装する方法の説明に関してはあいまいです。
2014-04-23 23:25:21.520 Space Monkey[3398:60b] * キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。 (0x2d92ef03 0x380c3ce7 0x2d932837 0x2d93112f... 例外がスローされており、運が悪くてどこでもかなり調査しました。同じ問題について別の質問がありますが、提案はまったく機能していないようです。誰かが光を当てて、うまくいけば私を正しい方向に向けるためにコードを提供しました...これがコードです
十分な詳細とコードのスニペットが含まれていることを願っているので、誰かが私や他の人も同様に来るのを助けてくれることを願っています. 前もって感謝します。
objective-c - SKPhysicsBody 衝突での減速の停止
私のSpriteKit
プロジェクトでは、組み込みの素晴らしい物理エンジンの使い方を学んでいます。ノードにアタッチされたインスタンスを使用してこれを実現していますがSKPhysicsBody
、これまでのところうまくいきました。私の現在の設定は、ノードを追加するときです。そのベクトルを一定physicsBody
の速度に設定します。velocity
手動で速度を固定値に設定しても、数秒間ノードが衝突した後、速度が低下します。これは、実際の物理 (複数の衝突によるエネルギーの損失) をシミュレートするため、デフォルトの特性であると思います。この 行為 を 止め たい. たとえば、多数の衝突にもかかわらず、すべてのエネルギーが完全に「保存」され、速度が失われないことを望みます。ここに私が無駄にしようとしたいくつかのことがあります.
physicsBody.linearDamping = 0;
physicsBody.friction = 0;
これはプロパティでもありますか?それとも、この動作は のプロパティのphysicsBody
プロパティに起因しますか?SKScene
physicsWorld
ios7 - iOS 7.0 の SpriteKit 物理ワールド スケール
私は、すべてのゲーム スプライトを含むSKNode
(という名前の) があるこのゲームに取り組んでいます。objectsNode
iOS 7.0xでの実行スプライト間の衝突検出は、スプライトをズームアウトしようとするまでうまく機能します(プロパティとプロパティobjectsNode
を変更して)。xScale
yScale
各スプライトの物理体のサイズは、スケールの影響を受けていないかのように同じままのようです。iOS 7.0 のバグであることを確認できるこの回答に出くわしましたが、より説得力のある情報源を見つけることができませんでした。
iOS 7.1 での実行はうまく機能し、オブジェクト ノードをズーム アウトするときに衝突が正しく検出されます。
これを修正する方法はありますか、それともゲームを iOS 7.1 以降のデバイスに展開する必要がありますか (そうすることが推奨されますか?)?