問題タブ [sknode]

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

objective-c - SKNode のローテーション カウントを維持するにはどうすればよいですか

SKNode の回転を蓄積する方法を考え出そうとしています。たとえば、ノードが丘 (円形の物理体) を転がり落ちている場合、ノードが何回回転したか、または累積角度を知りたいとします。一方向に回転するときに増加し、もう一方の方向に減少する必要があります。

ノードの zRotation を追跡し、すべての更新でそれが >0 から <0 に渡ったときにカウントを更新することを考えましたが、チェックするある種の範囲を考え出す必要があり、それを見逃す可能性があるため、それはハックに思えます。高速回転ノードまたは低フレーム レートからの回転。

どんなアドバイスも素晴らしいでしょう!

編集:これは私の解決策です。私の目的には完全に機能します

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

ios - SKPhysicsWorld スケーリングされたノードで物理をシミュレート

ズームインおよびズームアウトできる物理体のレベルを含む SpriteKit ゲームを構築しようとしています。ズーム レベルを変更すると、物理の世界が期待どおりに動作せず、奇妙なことが起こります。

物理ボディを持つノードがアニメーション化し、期待どおりに動作します。レベルのズームは、すべてのゲーム要素を含む単一の「ワールド ノード」のスケールを調整するピンチ ジェスチャで処理されます。これは、シーンのスケーリングが恐ろしいことを行うように見えるため、これを処理する便利な方法であり、ワールド ノードの上に任意のゲーム インターフェイス要素用の個別のスケーリングされていないノードを簡単に追加できます。

ズームは次のように機能します。

通常のズーム レベルでは、すべてがうまく機能し、視覚的には、さまざまなズーム レベルでもすべてがうまく見えます。問題は、ズームが変更されると、物理体が他のオブジェクトに対して同じ速度ではなく、同じ速度で移動し続けることです。その結果、シーンをより多く表示するためにズームアウトすると、すべてがはるかに速く移動します。

これは、物理ワールドがシーンにのみ接続されており、「ワールド ノード」の調整されたスケールを認識していないという事実の副作用のようです。ただし、物理体は相対空間内でノードを同じ速度で移動し続ける必要がありますか?

SpriteKit がそのように動作する理由、またはこれを回避する方法について、誰かが洞察を提供できますか?

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

ios - SpriteKit は x 秒ごとにノードをオフ/オンにし、オフのときは非表示にします

これはかなり単純だと思いますが、SpriteKit でこの効果を実装する最善の方法に苦労しています。x 秒ごとにオフ/オンしたいレーザー ノードがあります。サウンドをオフにしてイメージをフェードアウトするように SKActions を設定しようとしましたが、SKAction で現在オフまたはオンになっている天候をノードに認識させる方法がわかりません。私が探しているのは、runAction の各 SKAction が完了するときの何らかのタイプのコールバックだと思います。そうすれば、レーザーがオンまたはオフであることを示すフラグを設定し、衝突が発生したときにそれを使用して、それを処理する方法を知ることができます. これが最善の方法であるかどうかもわかりません。ご協力いただきありがとうございます。