問題タブ [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.

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

swift - SKShapeNode がオブジェクトを通過し、事前に一時停止するのはなぜですか?

以下のコードは、テーブルの上に平らなデバイスで実行すると、赤い円 (「ボール」) と線が表示されます。

デバイスをそっと傾けると、円が線に向かって移動します。ラインに到達すると停止しますが、これは予期された望ましい動作です。

しかし、転倒し続けると、円は線を通り抜けます。私は2日間、円が線にぶつかり、通過しないようにしたい理由を解明しようと試みてきました。

何か案は?線が「エッジ」であることと何か関係がありますか?

乾杯、アンディ

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

swift - 適切な座標で SKPhysicsJointFixed を追加する

2 つの物理ボディを別のボディに追加したいのですが、showsPhysics がオンになっていると、そのように見えます。

ここに画像の説明を入力

これが私が使用するコードです

私も試してみます

これが将来問題になるかどうかはわかりませんが、なぜヒーロー ノードは他のノードと正常に接続できるのでしょうか。

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

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

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

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

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

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

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

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

ios - SKSpriteNode をサッカー ボールのようにフリックする方法

画面に SKSpriteNode がある場合、それをフリックして、サッカー ボールが蹴られる物理現象をシミュレートするにはどうすればよいでしょうか。SKSpriteNode をスローするには? この質問のようなものになると思いますが、フリックする前に最初に指をたどるノードの代わりに、発生するべきではありません。フリックするとノードに向かってスワイプし、指がノードに当たるとサッカー ボールの物理学のように動きます。これを達成するための出発点を誰か教えてもらえますか??

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

swift - デコード保存後に iOS SpriteKit 衝突検出が失敗する

Falling Nodes が落下して Base Number Sprite Node にヒットし、そこからゲーム ロジックが実行されるゲームがあります。新しいゲームを最初からセットアップすると、衝突検出が正確に機能します。NSCoding を使用して以前の保存からゲームを作成すると、問題が発生します。どちらの場合も (新しいゲームとセーブ ゲームからの継続)、物理ボディは同じです - 動的、同じサイズのボディ、同じ contactTestBitMask、同じカテゴリBitMask。私はこれをすべてテストしたので、それが真実であることを知っています。物理接触デリゲートも適切なオブジェクトに設定されています。しかし、セーブから継続したゲームでは連絡先が登録されず、原因がわかりません。唯一思いつくのは、

どんな助けでも大歓迎です

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

ios - iOS用のシーンキットで床を横切ってスライドするように立方体をプログラムしましたが、床に沈みます

私は現在、立方体がシーンキットの床に落とされるシーンを持っています。立方体が床を横切って x 軸上を移動するようにアニメーション化しましたが、床に少し沈んでから床の上に再配置されます。

コードの一部を次に示します。

立方体が沈む理由を誰か教えてくれませんか? 理由がわからない場合は、キャラクターが歩くことができる作業フロアのコード例を提供できますか? (できれば目的のcで、必要に応じてswiftから翻訳できます)

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

swift - SpriteKit - ポイントをシーン座標に変換すると間違った値が返される

セルの位置をシーンの座標に変換したい。現在、セルは非表示ノードの子です。細胞がウイルスと接触すると、細胞の位置を取得します。紛らわしいことに、セルの位置は、座標がシーンに変換されるときだけでなく、その親に対する座標でも同じです。位置は (0,0.002) ですが、実際の位置は (0,50) である必要があります。

セルノードを直接参照して位置を監視すると(例childNodeWithName("cell"))、正しい位置が表示されます。私は当初、この問題はダウン キャスティングに関係していると考えていましたが、ダウン キャスティングの有無にかかわらず、位置が正しく表示されません。これはなぜですか?

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

ios - Sprite Kit Physics: 固定アップデートを使用できますか?

シーンで固定更新が発生しているシナリオがあります。

更新するたびに、スプライトの前の位置を使用して影を作成したいと思います。

スプライトにインパルスを適用すると、次の更新フレームに到達するために実際にどれだけの時間が費やされたかに関係なく、スプライトが同じステップ数をインクリメントするようになりました。

ただし、シミュレーターの影とデバイスの影を比較すると、2 つの間の距離が大きく異なるため、これは当てはまりません。

EG 携帯電話でスプライトを 60 ステップ動かすのに 1 秒かかりました シミュレーターでスプライトを 60 ステップ動かすのに 2 秒かかりました

固定更新の世界で。どちらも達成するのに60フレームかかり、シミュレーターはただ遅れました。

ただし、実際の結果では、シミュレーターは 120 ステップになります。

修正された更新が得られることを期待して無効にしようとしasynchronousましたSKViewが、どこにも行きませんでした。そのため、修正された更新フレームワークで SKPhysics を動作させる方法を誰かが知っているかどうか尋ねています。