問題タブ [skphysicsbody]

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.

0 投票する
1 に答える
1392 参照

ios - スプライト キットの完全弾性衝突

同じ質量のボールが 2 つあり、互いにまっすぐに衝突します。入ってくるボールにリバウンド効果がある理由がわかりません。スプライトキットを使用しています。

返還物件かと思いました。私はそれを1に設定しました(これは私がそうあるべきだと思っていたものです)が、多くを試しました。

私がリバウンドを殺すことができる唯一の方法は、他のものを台無しにする質量を変更することです.

速度が遅い場合は、ほとんど停止します。しかし、高速では跳ね返りがあります。正面衝突であるため、速度を交換するだけです。おそらく、高速での数値の丸めなどですか?

http://h2physics.org/?cat=4

0 投票する
1 に答える
1323 参照

objective-c - SpriteKit は接触の終わりを検出します

2 つの物体間の接触がいつ終了したかを検出する方法を見つけようとしています。私はアルパイン クローラーのようなカー ゲームに取り組んでおり、後輪が地面に触れている場合にのみ、車は加速することができます。

これは今のところ私のコードですが、正しく動作しません:

0 投票する
2 に答える
3086 参照

ios - SKPhysicsContactDelegate が機能しない

次のコードがあります。

私のシーンで:

ご覧のとおり、最初から船とエネルギーの両方を同じ場所に設定しているため、常に衝突します。

両方のクラスについて、init メソッドに次のコードがあります。

私が見つけたのは、NSLogが呼び出されないため、物理的な衝突検出が機能しないことです.Apple開発者のチュートリアルからたくさん読んだことがあります. 画面上の船とエネルギーの画像が衝突しているのが見えます

0 投票する
2 に答える
288 参照

sprite-kit - 特定の衝突のみに SKSpriteNode を反応させる方法

このプロジェクトには 2 人のプレイヤーがいて、どちらも射撃できます。反対側のプレイヤーの弾丸が船に当たると、体力が低下して消えますが、これはうまくいきます。問題は、船や弾丸が互いに衝突することに反応してほしくないということです。

最初のプレーヤーを作成するためのコードは次のとおりです。

そして 2 番目のプレーヤー:

カテゴリの初期化:

プレーヤー 1 の弾丸作成:

プレーヤー 2 の弾丸作成:

これが行われる方法に、最初のプレイヤーと弾丸が衝突に反応するだけの目に見える問題はありますか? 助けてくれてありがとう、そして長い間読んでごめんなさい。

0 投票する
1 に答える
1577 参照

ios - physicsBody が spriteNode とずれています

スプライトノードを作成し、その位置を設定し、アンカーポイントを (0, .5) に変更してから、phyicsbody を作成しています。

物理学者は私のアンカーポイントがまだ (.5, .5) にあると考えています。

同じ問題がここで参照されていますが、解決されていません: Physicsbody がノードのアンカー ポイントに準拠していません

私がやっている順序は正しいです、それは私の物理体が頑固なだけです.

0 投票する
3 に答える
1516 参照

ios - スプライト キットで衝突に対する独自の物理計算を実行する

スプライト キットを使用して弾性衝突を設定しようとしています。Sprite Kit Physics Collision Issueで尋ねたように、複数のオブジェクトが互いに近くにある場合に問題があります

衝突の状況のタイミングについて混乱しています。

デリゲート メソッドで に設定dynamicNO-didBeginContact:最終速度を計算してから、設定してから速度を正しく設定しようとしました。-didEndContact:dynamicYES

衝突の外で動的にしたい理由は、摩擦/重力などを利用できるようにしたいからです。順序/ロジックの何が問題になっていますか? 方法を調べました-didSimulatePhysicsが、うまくいくようには思えませんでした。

0 投票する
1 に答える
1934 参照

objective-c - -(void)didBeginContact が呼び出されていません。考え?

決して NSLogging ではありません。ビットマスクなどを変更してみました。CGRectIntersects 関数は機能しますが、十分に正確ではありません。また、2 つのノードは完全なボックス形状になっています。私は何が間違っているのでしょうか?前もって感謝します!