問題タブ [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 投票する
3 に答える
1997 参照

sprite-kit - 反転した x スケールが衝突処理を中断する (SpriteKit 7.1)

SKNode の xScale プロパティを使用して、スプライトを水平方向に反転します。現在、iOS をバージョン 7.1 に更新した後、水平方向のフリップにより、オブジェクトが地面の中に沈みます。(下のアニメーションを参照)。この問題は、xScale プロパティでのみ発生します。垂直方向のフリップは正常に機能します。

Xスケールフリップ問題

0 投票する
0 に答える
157 参照

ios - SKPhysicsContact のクラッシュ - 不正なアクセス

さて、私はかなり混乱しています。viewcontroller をphysicsworld のデリゲートとして設定しました。Flappy Bird がコインと衝突すると、次のメソッドが実行されます。

鳥がコインに触れたときに badaccess コールが発生することがあるため、これは私には意味がありませんが、95% の確率で期待どおりに動作します。シーンからコインが削除されるのは、鳥がコインに触れたときか、coin.position.x < (0.5 * coin.size.width); のときだけです。

特に if (contact != nil && contact.bodyA != nil) と書いたので、なぜ badaccess になっているのかわかりません。さらに、代理人が「ヘイ! この SKPhysicsContact でこのメソッドを実行しますか?

誰からの助けはありますか?

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

sprite-kit - スプライト キットの SKPhysicsWorld にジョイントを追加した後、SKPhysicsJointLimit maxLength を変更できません

そこで、基本的にピン ジョイントを使用して結合された四角形である SKSpriteNodes のリングを作成しました。このリングを SKShapeNode サークル内で中断したいと思います。SKPhysicsJointLimit を使用して、各ノードを SKShapeNode に接続しました。

これはすべて正常に機能し、maxLength を主観的に決定する「正しい」数値に設定すると、探している効果が得られます。

簡単にアクセスできるように、すべてのリミット ジョイントを配列内に格納し、physicsWorld に追加しました。

コードを正しくするのに少し手間がかかりましたが、これらはすべて正しく期待どおりに機能します。これらはうるさいです!

ここで、私が本当にやりたいことは、maxLength を大きな数値に設定し、時間の経過とともにその数値を徐々に減らして、リングが「ゆるくぶら下がっている」から「引っ張られた」状態になるようにすることです。

私はさまざまなアプローチを試みましたが、どれもうまくいかないようです。まず、私は試しました:

しかし、これはまったく何もしませんでした。

私は、physicsWorld にジョイントを追加した後、ジョイントのプロパティを変更できないように見えることに最終的に気付きました。そこで、シーンの update メソッドで次のようなことを試しました。

しかし、これもうまくいきませんでした。エラーが発生しました:

明らかに削除したのに。だから、ここからどこへ行けばいいのかわからない。ジョイントに関するドキュメントとインターネット上の既存の資料は非常に薄いです。次に試みるのは、すべてのジョイントを削除して追加することだと思いますが、それは非常に面倒です。

どんな考えでも本当に役に立ちます!

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

objective-c - SKPhysicsJoints はすべてかなりぐらつき、弾力性があります

それで、私はそれを一緒に保持する(ピンと固定)10個ほどのジョイントを持ついくつかの物理体で構成されるオブジェクトを持っています。それはうまく機能しますが、関節がどれほどグラグラしているかに驚いています. 「固定」とは、それらを1つの物理体にマージした場合と同じくらい固定されていると想像しますが、使用できないほどかなりぐらついています。また、ピンを使用すると、接続オブジェクトに力が加えられると、各物理体のポイントは互いにかなりの遊びを持っているように見えます。これは常に当てはまり、関係する両方の体の動きが制限されることはありません。

関節をもっと硬くして弾力性を減らしたいです。誰かがこれの解決策または理由を見つけることができましたか? さらにいくつかのジョイントを追加しても、剛性が高くなるわけではないようです。

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

ios - 片側のSKPhysicsBody衝突検出

ノードが片側だけで別の側と衝突するかどうかを検出することは可能ですか?

たとえば、別の動物に対して実行する動物。その場合、衝突検出メソッドが呼び出されます。しかし、動物が動物を飛び越えてその上を「歩く」と、衝突検出はアクティブになりません。

私はすべての答えをいただければ幸いです。ありがとう

私のコード:

0 投票する
0 に答える
551 参照

ios - スプライト キット: 過度の力で SKPhysicsJointLimit を使用したロープが壊れますか?

次のコードはうまく機能します。四角いリンクでぶら下がったロープを作り、下のリンクに力を加えて振り回します。SKScene の作成時に SKScene オブジェクトで実行されます。

ただし、最後の行のフォースを 2000 から 4000 に変更すると、物理が乱れ、リンクが壊れることがあります。リンクが振動しているように見えることもあれば、関節がないかのように完全に重力に服従することもあります。さらに、他の物理ボディがある場合、たとえ力が適用される前であっても、ヘイワイヤー リンクと衝突しなくなりました。

4000 は過剰に思えますが、この問題は、軽い物体でははるかに小さい力で発生したり、リンク間のギャップが少ないロープでは小さい力で発生したりしました。

私は何か間違ったことをしていますか?Sprite Kit にバグがありますか、それとも他の説明ですか? オンラインで答えを見つけることができませんでした。

また、強制が SKScene の作成中に適用されるか、後で適用されるかは問題ではありません。