2011-04-14 34 views
3

電暈具有創建將被動態顯示設備的分辨率基於圖像的方法:電暈 - 如何讓精靈張與動態圖像分辨率兼容

img = display.newImageRect("image.png", 100, 100) 

大,但如果你所有的圖片都在精靈表,這是性能推薦?然後,你必須做這樣的事情來顯示圖像:

local data = require("sheet1") 
local tileSheet = sprite.newSpriteSheetFromData("sheet1.png", data.getSpriteSheetData()) 
local tileSet = sprite.newSpriteSet(tileSheet, 1, 3) 
local img = sprite.newSprite(tileSet) 
img.currentFrame = 1 

如何從精靈表創建動態大小的圖像?

回答

2
+0

謝謝。在那裏也發現了SpriteGrabber。當然,一旦我用這種方式去做所有的麻煩,Ansca就會用API來處理所有這些...... – sol 2011-04-15 01:06:19

+0

那些鬼鬼祟祟的混蛋,有什麼新功能。 – jhocking 2011-04-15 02:46:22

1

怎麼這裏是我如何調整我的背景動畫。它由2幀組成,每幀794 x 446.它需要全屏,橫向模式。請參閱下面的步驟6。

--> Initialize background animations 

-- 1. Data = define size and frames 
local bgData = { width=794, height=446, numFrames=2, sheetContentWidth=1588, sheetContentHeight=446 } 
-- 2. Sheet = define the sprite sheet 
local bgSheet = graphics.newImageSheet("hkc.png", bgData) 
-- 3. Animation = define animation characteristics 
local bgAnim = { 
    { name = "bgAnimation", start = 1, count = 2, time = 800, loopCount = 0, -- repeat forever 
     loopDirection = "forward" 
    } 
} 
-- 4. Display the sprite (can't set size here unlike display.newImageRect) 
local bg = display.newSprite(bgSheet, bgAnim) 
-- 5. Center the animation 
bg:setReferencePoint(display.CenterReferencePoint) 
bg.x = display.contentCenterX 
bg.y = display.contentCenterY 
-- 6. Resize to match screen size based on a ratio with the actual background pixel dimensions 
bg:scale(display.contentWidth/794, display.contentHeight/446) 
-- 7. Play the animation 
bg:play()