2016-11-11 11 views
2

私のゲームにタイルセットとしてthis sort of imagesを使用する方法が見つかりません。 これを行う方法はありますか、1つ1つずつすべてのオブジェクトを追加する必要がありますか?Spritekitのタイルセットとして画像を使用してください

新しいグリッドタイルセットを1つのタイルグループに追加しようとしましたが、これをタイルマップノードで使用しようとすると、すべてのイメージが1つのブロックのテクスチャとして使用されます。

可能かどうかは分かりませんが、お手伝いできれば幸いです。

+0

[タイルマップエディタ](http://www.mapeditor.org/)はタイルセットのこの種類を読み取ることができます。この記事[Tiled Map Editor入門](https://gamedevelopment.tutsplus.com/tutorials/introduction-to-tiled-map-editor-a-platform-agnostic-tool-for-level-maps--gamedev)を読んでください。 -2838)記事。これはSpriteKitの 'SKTilemapNode'と互換性がありませんが、SpriteKitでマップを使用するには余分な作業が必要です。 –

答えて

2

残念ながら、あなたが望む機能だけで存在していません。..

手動小さい画像に画像を分離する必要があります。

+0

おはよう、仲間ありがとう – Marsgames

+0

あなたのアプリケーションでGLを心配しないでください –

1

画像はテクスチャアトラスとして使用できますが、SKTextureAtlasを使用することはできません。あなた自身を分解しなければなりません。

SKTextureを見ると、init(rect: CGRect, in: SKTexture)という名前のinitがあります。これにより、元のテクスチャのテクスチャメモリ空間を参照しながら、新しいSKTextureオブジェクトが作成されます。このアトラスを作成するには、CGRRectのすべての情報を読み込むためにplistのようなものを使用する必要があります。

例:

let textureAtlas = SKTexture(imageNamed:"CEm72.png") //I convert your jpg to png somehow 
let rectDarkKnight = CGRect(x:0,y:96,width:32,height:32) 
let texDarkKnight = SKTexture.init(rect: rectDarkKnight, in: textureAtlas) 
+0

ありがとう、試してみるよ – Marsgames

+1

ありがたいことにテクスチャマップが最適ではありません。あなたはアトラスから最小限の量をつかんでスプライト上に残りの部分を埋めなければならないので、最適化されたテクスチャでさらに狂ってしまいます。私はSKTextureからパディングを処理するためにとにかく知らない – Knight0fDragon

関連する問題