使用 Corona SDK 对像 Angry Birds 一样的区域进行缩放。

如何像《愤怒的小鸟》游戏一样,在玩家想要探索整个游乐场时缩放到特定区域。

提前感谢。

点赞
用户1607767
用户1607767

你可以通过改变图像的xScale和yScale来放大/缩小。

例如:

如果你想在中间放大2倍:

backG = display.newImageRect("backG.png", 320, 568)
backG.x = display.contentCenterX
backG.y = display.contentCenterY

function zoomIn()
    backG.xScale = 2
    backG.yScale = 2
end
function zoomOut()
    backG.xScale = 1
    backG.yScale = 1
end
zoomIn() -- 当事件发生时调用这个函数

如果你想放大到背景的其他位置,你需要改变xScale、yScale以及x和y。

backG.xScale = 2
backG.yScale = 2
backG.x = backG.x - 100

这将放大到左边的部分。如果你的舞台上有多个对象,你可以把它们放在一个组里,并且改变该组的xScale、yScale、x和y。

group1 = display.newGroup()
group1:insert(backG)
group1:insert(otherObject)

group1.xScale = 2 -- 现在你可以像改变一个对象一样改变组的x和y或缩放。

同时,你可能需要找到用户想要放大到哪个部分,这可以通过记录点触事件的x、y坐标,或者在放大后允许用户拖动舞台来实现。

2014-04-30 21:09:19