問題タブ [skphysicsjoint]

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 に答える
35 参照

objective-c - 別の .m ファイル (キャラクター) で SKPhysicsJoint をセットアップできますか?

私は SpriteKit とコーディング全般にまったく慣れていません。キャラクターの .m ファイルで SKPhysicsJoint をセットアップしようとしています。ただし、physicsWorld 構文はシーンではないため使用できません。

どうすればこれを回避できますか?

内部に 2 つの子を持つ親ノードがあり、同じサイズの物理ボディを持つ小さな円のスプライトが 1 つあります。同じ中心点で半径の 2 倍の 2 番目の円の physicalsBody を追加したいと考えています。これは、さまざまな距離で衝突を処理できるようにするためです。

キャラクターの .h ファイルで SKPhysicsJoint を定義し、シーン ファイルでphysicsWorld を使用しようとしましたが、うまくいきませんでした。

私はこれを正しい方法で行っているか、見落としているはるかに単純なソリューションです。

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

sprite-kit - didBeginContact の入力が早すぎます

接触点で衝突したときにボールをスピナーに貼り付けようとしています。ただし、連絡先が開始される前に didBeginContact が呼び出されているようです。下の画像は、両方が一緒に回転していることを示していますが、大きなスペースがあります.

ここに画像の説明を入力

コードは以下のとおりです。

did begin contact メソッドをコメントアウトすると、画像が衝突したときに画像が完全に重なり合っているため、画像のサイズが正しいことがわかります。

ここに画像の説明を入力

didEnterContact メソッドをコメントアウトしたときに、contact.contactPoint が両方のボディが衝突するポイントと同じではないのはなぜですか? 修正方法はありますか?

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

sprite-kit - 固定された子ノードが親ノードと一緒に移動しない

この問題はStackOverflow_24965533に似ていますが、受け入れられた回答は 9.3 では機能しません。

私が見ているものの例: ここに画像へのリンク

私のコード:

ヒーローのテスト UI は単なる灰色の円であり、彼が押されたときに子ノード "topMacheteSwing" が彼と一緒に移動するようにしたいと考えています。それらを一緒に固定するとこれが行われると思いましたが、そうではありません。

よろしくお願いいたします。

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

ios - SpriteKit は各ノードにスプリング ジョイントを追加します

SpriteKit を使用して、プロジェクト用の楽しい Hotspot UI を作成しています。それは本当に簡単なはずです!ドットがたくさんある背景画像です。ドットをタップすると拡大します。もう一度タップすると、通常のサイズと位置に戻ります。しかし、もっと重要なことは、各ドットには物理特性があるため、スケールアップすると他のドットが一時的に脇に移動することです。ドットが通常のスケールに戻ると、元の位置に戻ります。

これを実現するために、ページに多数の SKShapeNode を配置しました。また、シーンのphysicsBodyとSKShapeNodeにアタッチされたSKPhysicsJointSpringも作成しています。

シーンのコードは次のとおりです。

DotNode は SKShapeNode サブクラスです。これは、画面上では次のように表示されます。

ノード静的

スケールアップすると、次のようになります。

ここに画像の説明を入力

問題が見えますか?彼らは今、お互いに交流していません。いずれかをドラッグすると、Spring ジョイントがアタッチされていることがわかります。

ここに画像の説明を入力

オブジェクトが互いに相互作用しなくなった理由はありますか?

ジョイントを削除すると、次のようになります。

ここに画像の説明を入力

オブジェクトは互いに押し合います。これは達成可能でなければなりません。私は何を間違っていますか?

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

sprite-kit - SpriteKit ヘビ - 関節と物理

私は私のゲームに取り組んでいます - Snake for iOS.

私の開発はすでにこの段階を通過しましたが、いくつかの改良を行うことを考えています。何度か試行錯誤した後、SpriteKit が提供する物理/動きと衝突検出を完全に無視し、独自の実装を使用し続けています。おそらくあなたの助けを借りて、ゲームのこの部分をリファクタリングするかもしれません.

私のヘビはあらゆる方向 (360 度) に向きを変えることができます。重力はありません。コードを既存の SpriteKit 実装にオフセットしたい場合、物理的なボディをどのようにセットアップしますか?

私が考える重要な部分は2つあります。

まず - 関節。スネークは複数の物理体から構成されています。すべての体は、頭が少し前にあったすべてのポイントを通過するだけで、互いにたどります。これに最適なジョイントはピンジョイントだと思いますか?隣接するボディ間に正確にアンカー ポイントがあるピン ジョイントを使用しました。しかし、この設定により、ヘビの体の残りの部分が頭部の物理特性を変化させました。そんなはずはない。ウェイトをゼロに変更して、線形ダンピングと角度ダンピングを最大にしてみました。結果は決して受け入れられませんでした。

第二 - 動きを制御します。ヘビの動きは一定です。ユーザーが左右のボタンを押すと、ヘビが左右に穏やかに動き始めます。更新メソッドで、ヘビの速度を毎回一定値にリセットする必要があると思いますか? それとも、力のインパルスとトルクで遊ぶべきですか? 回転は、ユーザーが画面を押し続けている場合にのみ行われます - ヘビを逆にするのに数秒かかります (「Uターン」のように) - 回転はどうですか?

どんな提案でも大歓迎です。よろしくお願いします。