問題タブ [sktextureatlas]
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.
ios - SpriteKit プロジェクトでのスプライト アトラス、テクスチャ アトラス、またはアセット カタログの使用
SpriteKit プロジェクトでアセットを整理するために Apple が推奨する方法は、エンジンの歴史の中で大きく変化しました。また、古い方法論にはバグがあり、これらのプラクティスの実装と必要な回避策の実装が妨げられていました。SO に関する古い Q&A には、古くなった情報や、もはや存在しないバグへの対処に関する情報が混乱している情報がたくさんあります。古いワークフローや解決されたバグについての議論に気を取られることなく、この質問に対する現在のソリューションを実装する方法を説明する SO に関する投稿が必要です。だから質問はこれです:
SpriteKit プロジェクトで画像アセットを整理するにはどうすればよいですか? 一部の Apple ドキュメントでは、パフォーマンスを向上させるためにテクスチャ アトラスを使用するように指示されています。ただし、SKTextureAtlas
クラス リファレンスでは、テクスチャ アトラスとスプライト アトラスの両方を作成するためのオプションについて説明しています。どちらを使用し、どのように実装すればよいですか?
swift - SKTextureAtlasがメモリに残る
SpriteKit がアトラスをメモリから解放する方法を理解するための簡単なプロジェクトを作成しました。画面がタップされるたびにアトラスが作成され、メモリにロードされます。アトラスへの唯一の参照は、以下のコードに表示されているものであり、var は非エスケープ関数内にあるため、強い参照を保持していないと思いました。私の目標は、メモリにロードされた以前のアトラスが最終的に解放されることでしたが、メモリが積み重なり、最終的にクラッシュします。
アトラスは一度だけ読み込まれることになっていることを理解しており、テクスチャが解放されない理由についてApple がここで ( Working with Sprites ) 作成している 3 つのポイントを理解しています。
なぜこれが当てはまるのか、誰かが理解するのを手伝ってくれますか?