SpriteKitアプリケーションを読み込むと、エラー番号<CAMetalLayer: 0x15f57fa70>: calling -display has no effect.
が記録され、多くのオブジェクトが正しく表示されません。シーンを再作成してコードを削除しようとしましたが、どちらも何もしていません。しばらくの間、私はこれが新しいXcode 7とiOS 9ベータのバグだったかもしれないと思ったが、今では両方のGM版で試してみたが問題は続くだろう。Xcodeエラー:呼び出し-displayは無効です
答えて
すべてSKNodes
のzPosition
を確認してください。 SpriteKitの実装では何かが変更され、SKNode
オブジェクトはもはやでなく、親ノードに追加された順にレンダリングされます。SKNodes
のすべてが正しいzPosition
だったことを確認した後、すべて正常に戻りました。
それでも解決しない場合は、devフォーラムからthis postをチェックしてください。
ありがとうございました!それは私を夢中にさせている。 Z位置を変更すると、問題は完全に解決されました。 – mhillsman
zPositionをチェックするとどういう意味ですか?私のすべては、私が最初に割り当てたのと同じ値を持っています。あなたはどういう意味ですか?それらを再割り当てしますか?私は同じエラーが発生しますが、xCode 7を使い始めた後に始まりました。私のゲームはちゃんと動作するようですが、まだエラーが出ます。 –
@JozemiteAppsいいえ、問題は、明らかに、自分自身を含む多くのプログラマーが過去に「zPosition」変数を気にしていなかったことです。 AppleがSpriteKitの動作を変更したので、明らかになった。私が「チェックする」という意味は実際に最初にそれらを設定していることです。 –
this Apple Developer threadで提案されているように、あなたのアプリのInfo.plistに以下のキー/値のペアを追加すると、今のところこの問題が解決されているようです。
上記のキー名を入力する前にショーの生キー&値>あなたはエディタを選択していることを確認します。
"MacMacMac"はフォーラムのポストで言うように、これは理想的な解決策ではありません。なぜなら、MetalはおそらくOpenGLを使用するよりは優れていますが、少なくともOpenGLが機能するからです。
メタルをまったく使用していないとエラーが表示されるのはなぜですか? –
@JozemiteApps iOS 9では、SpriteKitまたはSceneKitのいずれかを使用している場合は、両方ともMetalで実装されているため、自動的にMetalを使用します。 –
SpriteKitをMetal(OpenGLではなく)にバックアップしても、警告を取り除きたい場合はどうすればよいですか? –
[this](https://forums.developer.apple.com/thread/21386)ページの最初の回答によれば、メタルエラーは無害です。オブジェクトの不適切な表示に関しては、以下の答えが正しいと思われます。 – mredig
Xcode 7.x/iOS 9.x以降、メッセージは 'に進化したようです:呼び出し - 表示は効果がありません。 –