0

これは、画像を表示する通常の方法です。

local img = display.newImage("image.png");

しかし、すべての画像を1つの大きな画像に入れて、Zwoptexからエクスポートすることで、メモリを節約できませんか?スプライトシートからアニメーション化されたスプライトを作成するためのドキュメントがありますが、スプライトシートから単一の画像をプルするだけではどうでしょうか。

local zwoptexData = require "sheet1"
local data = zwoptexData.getSpriteSheetData()
//then what?
4

1 に答える 1

1

タイルシートから静止画像を作成するコマンドは次のようになります。

local tileSheet = sprite.newSpriteSheet("tiles.png", 64, 64)
local tileSet = sprite.newSpriteSet(tileSheet, 1, 10)
local tile = sprite.newSprite(tileSet)
tile.currentFrame = 5

これは、シート上のすべてのタイルが64x64であることを前提としていますが、これらのコマンドをスプライトシートデータを使用するように簡単に適合させることができます。注意すべき重要なことは、newSprite()と.currentFrameです。

編集:あなたはこれでスプライトデータを使用する方法を理解できないとコメントしたので、変更されたコードは

local data = require("tiles.lua")
local tileSheet = sprite.newSpriteSheetFromData("tiles.png", data.getSpriteSheetData())
local tileSet = sprite.newSpriteSet(tileSheet, 1, 3)
local tile = sprite.newSprite(tileSet)
tile.currentFrame = 2

これがどのように機能するかについては、http://developer.anscamobile.com/reference/sprite-sheetsを参照してください

于 2011-04-13T23:31:14.643 に答える