使用过渡动画进行场景缩放 - Corona

嘿,我正在寻找类似于网球比赛中的挑战点,视频通过将画面缩放到球的落地瞬间,以查看是否碰到底线。

我尝试使用 xScale 和 yScale 过渡来实现缩放,但我得到的结果很奇怪,好像在缩放期间对象移动了。如果有一种方式可以固定位置然后缩放,那就可以了。第二种方法是将图形放入显示组中,然后缩放该组。这也会导致整个组在屏幕上开始以对角线移动。

请帮帮我,这让我很困惑。

干杯。

将要缩放的对象:

cloud = display.newImageRect("cloud.png"419,273)
cloud.anchorY = 0
cloud.anchorX = 0.5
cloud.alpha = 1
cloud.x = display.contentCenterX
cloud.y = display.contentCenterY + 250
physics.addBody(cloud,{isSensor=true})

star = display.newImageRect("Star.png"78,72)
star.anchorY = 0
star.anchorX = 0.5
star.alpha = 1
star.name = "Star"
physics.addBody(star,{isSensor=true})
star.x = display.contentCenterX
star.y = display.actualContentHeight - display.actualContentHeight - 100

缩放函数

function scale(event)
   transition.to(star,{time=2000,xScale=1.5,yScale=1.5})
   transition.to(cloud,{time=2000,xScale=1.5,yScale=1.5})
end
点赞
用户2285255
用户2285255

当你对一个对象进行缩放时,由于其锚点位置可能会“移动”,这是用于定位该对象并在旋转或缩放过程中充当其“锚点”的对象的位置。

因此,你有两个选择:

1)设置锚点位置(obj.anchorX = 值,obj.anchorY = 值)为使你的对象保持在你想要的位置;

2)在过渡期间,也可以改变它的x和y以补偿移动。

2017-01-12 06:24:30