Xcode 5でSpriteKitのSKTextureAtlasを使用する
SwiftUI ベースのプロジェクトで SpriteKit の SKTextureAtlas を使用したかったのですが、プロジェクトに ".atlas" サフィックスのフォルダを作成し、コンパイル時にアトラスを生成させる方法ではできなかったので、調査しました。
結論から述べますと、アセットカタログ (Assets.xcassets) に作成したフォルダをアトラスとして使用できます。
具体例を示します。次の通りにアセットカタログに "cat" フォルダを作成し、猫が歩くアニメーションのフレーム画像 (cat-walk.0 〜 3) を保存します。
Assets.xcassets
├─AccentColor
├─AppIcon
└─cat
├─cat_walk_0
├─cat_walk_1
└─cat_walk_2
ソースコードで、SKTextureAtlas
の named
引数に作成した "cat" フォルダの名前を指定し、インスタンスを生成します。インスタンスの textureNamed
メソッドを使用すると、同フォルダに保存したフレーム画像をアトラス内の名前付きテクスチャとして参照できます。
import SpriteKit
let atlas = SKTextureAtlas(named: "cat")
let textures = [
atlas.textureNamed("cat_walk_0"),
atlas.textureNamed("cat_walk_1"),
atlas.textureNamed("cat_walk_2"),
]
アトラスの名前はフォルダの名前ですが、半角英数字のみ (?) で指定しなければいけないようです。フォルダの名前に ". (ドット)" を含む場合は、一番最初の "." より手前の文字までをアトラスの名前として認識しました。又、フォルダの名前に "- (ハイフン)" を含む場合は、アプリケーションが異常終了しました。
Author And Source
この問題について(Xcode 5でSpriteKitのSKTextureAtlasを使用する), 我々は、より多くの情報をここで見つけました https://qiita.com/juno_rmks/items/923f31e5c0afc2c1160f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .