2015-09-10 9 views
17

SpriteKitアプリケーションを読み込むと、エラー番号<CAMetalLayer: 0x15f57fa70>: calling -display has no effect.が記録され、多くのオブジェクトが正しく表示されません。シーンを再作成してコードを削除しようとしましたが、どちらも何もしていません。しばらくの間、私はこれが新しいXcode 7とiOS 9ベータのバグだったかもしれないと思ったが、今では両方のGM版で試してみたが問題は続くだろう。Xcodeエラー:呼び出し-displayは無効です

+0

[this](https://forums.developer.apple.com/thread/21386)ページの最初の回答によれば、メタルエラーは無害です。オブジェクトの不適切な表示に関しては、以下の答えが正しいと思われます。 – mredig

+0

Xcode 7.x/iOS 9.x以降、メッセージは 'に進化したようです:呼び出し - 表示は効果がありません。 –

答えて

11

すべてSKNodeszPositionを確認してください。 SpriteKitの実装では何かが変更され、SKNodeオブジェクトはもはやでなく、親ノードに追加された順にレンダリングされます。SKNodesのすべてが正しいzPositionだったことを確認した後、すべて正常に戻りました。

それでも解決しない場合は、devフォーラムからthis postをチェックしてください。

+0

ありがとうございました!それは私を夢中にさせている。 Z位置を変更すると、問題は完全に解決されました。 – mhillsman

+0

zPositionをチェックするとどういう意味ですか?私のすべては、私が最初に割り当てたのと同じ値を持っています。あなたはどういう意味ですか?それらを再割り当てしますか?私は同じエラーが発生しますが、xCode 7を使い始めた後に始まりました。私のゲームはちゃんと動作するようですが、まだエラーが出ます。 –

+0

@JozemiteAppsいいえ、問題は、明らかに、自分自身を含む多くのプログラマーが過去に「zPosition」変数を気にしていなかったことです。 AppleがSpriteKitの動作を変更したので、明らかになった。私が「チェックする」という意味は実際に最初にそれらを設定していることです。 –

8

this Apple Developer threadで提案されているように、あなたのアプリのInfo.plistに以下のキー/値のペアを追加すると、今のところこの問題が解決されているようです。

Info.plist containing PrefersOpenGL key/value. Xcode 7.0.1

上記のキー名を入力する前にショーの生キー&値>あなたはエディタを選択していることを確認します。

"MacMacMac"はフォーラムのポストで言うように、これは理想的な解決策ではありません。なぜなら、MetalはおそらくOpenGLを使用するよりは優れていますが、少なくともOpenGLが機能するからです。

+1

メタルをまったく使用していないとエラーが表示されるのはなぜですか? –

+1

@JozemiteApps iOS 9では、SpriteKitまたはSceneKitのいずれかを使用している場合は、両方ともMetalで実装されているため、自動的にMetalを使用します。 –

+1

SpriteKitをMetal(OpenGLではなく)にバックアップしても、警告を取り除きたい場合はどうすればよいですか? –

関連する問題