「SKView.texture(from :)」を呼び出すときに時々EXC_BAD_ACCESS (code=1, address=0x0)
エラーが発生しました。(アドレス0x0から)ヌルポインタ逆参照。EXC_BAD_ACCESS SKViewの.texture(from)でnull以外の例外が発生しました
私はこのようにそれを呼んでいる:
view.texture(from: node)
view
はSKView
とnode
あるSKNode
ではありません、どちらもゼロです。この行は、さまざまなノードに対して何度も何度も呼び出され、ほとんどの場合はうまく動作しますが、最終的には(通常、画面上にノードが多い場合)、クラッシュします。典型的なクラッシュから
スタックトレース:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
frame #0: 0x0000000199b1da3c SpriteKit`-[SKTexture(Internal) initWithBackingTetxure:logicalWidth:height:] + 76
frame #1: 0x0000000199baeff0 SpriteKit`SKCRenderer::textureFromNode(SKCNode*, float, NSDictionary*) + 1052
frame #2: 0x0000000199b2e428 SpriteKit`-[SKView textureFromNode:withOptions:] + 124
frame #3: 0x0000000199b2e39c SpriteKit`-[SKView textureFromNode:] + 24
* frame #4: 0x0000000104bf3534 Worf`SpriteComponent.texture(node=0x00000001c03113a0, self=0x00000001c0541e40) at SpriteComponent.swift:175
...
これは、iOS用スウィフト4を使用してXcodeの9.0(9A235)です。
価格はRingoが指摘しているように、例外はSKTextureの奇妙なスペルの内部メソッドであるinitWithBackingTetxure:logicalWidth:height
で発生していることを明らかにする。
このエラーの原因となるSKNode
で何が間違っている可能性がありますか?
ご協力いただきありがとうございますが、私はノードに何が間違っているかを理解するのに問題があります。 'texture(from) 'のドキュメンテーションは単に' SKNode'と書いてあり、ビューのシーン内にある必要はありません。ノードの状態が悪いということが何を意味するのかを明確にすることはできますか? – Robert