电晕-如何使子板与动态图像分辨率兼容

| Corona提供了一种用于创建将根据设备分辨率动态显示的图像的方法:
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
如何从Sprite表格创建动态尺寸的图像?     
已邀请:
使用display.contentScaleX http://developer.anscamobile.com/reference/index/displaycontentscalex 这是http://developer.anscamobile.com/forum/2010/12/08/dynamic-retina-spritesheets-heres-how     
这是我调整背景动画大小的方法。它由2帧组成,每帧794 x446。它必须是全屏横向模式。请参阅下面的步骤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()
    

要回复问题请先登录注册