問題タブ [zposition]

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

enums - spriteKit の enum と zPosition の問題

スプライト キットで zPositiion を確立するために使用される enum に問題があります。列挙型は次のとおりです。

そして、追加の効果を含めるために、シーンをさまざまなレイヤーに分割しています。spriteKit ベース ノードとして worldNode を追加すると、その子は次のようになります。

ご覧のとおり、greenCircle は backGroundMountainOver の子であり、foreGroundMountainRight は worldNode の子です。前に述べた効果にはこれが必要です。

問題は、foreGroundMountainRight の zPosition が greenCircle の zPosition よりも大きいにもかかわらず、最後のものが最初のものの上に表示されることです。この問題を解決する唯一の方法は、次のように変更することです。

何が起こっているのか理解できません。

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

sprite-kit - 間違った zPosition の SKSpriteNodeChild

2 つの SKSpriteNode を子として別の SKSpriteNode に追加しています。コードは次のようになります。

シーンに parentNode を追加すると、z 平面内のスプライトの順序は後ろから前になります。

  • 親ノード
  • 子1
  • 子2

そして時々、期待される

  • 子1
  • 親ノード
  • 子2

子がparentNodeの下にある場合、zPositionプロパティは上書きされますか? 誰かがこのようなバグに遭遇したか、修正を知っていますか?

GameViewController で、skView.ignoresSiblingOrder = true に設定するとfalse、毎回最初の動作 (parentNode、child1、child2) が取得されます。

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

ios - エミッタノードを前面に移動するには?

バックグラウンドzPositionは 1 で、エミッタ ノードは 2 です。まだバックグラウンドは前面にあります。より高い数値も試しましたが、役に立ちません。

コード

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

ios - iOS で zPositions を視覚化する方法

私のチームと私は、中程度の複雑さの SpriteKit ベースの iOS ゲームに取り組んでいます。ゲームの設計には多くのレイヤーとノードがあり、ノードの zPositioning がずさんになっています。私が引き受けることに同意したタスクの 1 つは、zPosition 戦略の刷新です。マジック ナンバーの代わりに定数に移行すること、アプリに全体的な zPosition スキームを用意することなどです。しかし、まず現在の状況を分析したいと思います。だからここに私の質問があります:

zPosition に基づいて、同形の角度から見たアプリの 3D レンダリングを表示するために、Instruments (またはその他のツール) のいくつかの側面を使用して人を示した WWDC ビデオ (またはおそらく他のチュートリアル) を見たのを漠然と思い出します。アプリ内の SKNodes (または UIKit 要素?) の

ここにいる誰かがこれが何のツールか知っていますか? そうでない場合、SpriteKit ベースのアプリで zPositions の現在の状態を視覚化する最良の方法は何ですか? ありがとう!

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

swift - SpriteKit - SKNode がタッチ検出されない理由

シーンが期待どおりに動作しない理由を理解するために、数え切れないほどの参照を確認しまし

これが私の非常に単純な SKScene (2 つの子ノード) です。

  • シーンには SpriteNode (シーン全体を背景イメージとしてカバー) があります。これは zPosition = 0 です。
  • シーンには、別の子 (最大 2 レベル) を持つ 2 番目のノード (SKNode) があります。これには zPosiiton - 2 があります。
  • すべてのノードには .userInteractionEnabled = false があります

問題:

どこかをクリックすると、最初の子 (SpriteNode) がタッチされていることがわかります。2 番目の子 (SKNode) はタッチ検出されません。

ノードの z オーダーが期待どおりにレンダリングされていることに注意してください。機能していないように見えるのはタッチ検出です。

私の touchesBegan メソッドのスニペット: