Corona对象镜像另一个属性

时间:2015-12-18 23:14:04

标签: lua corona

使用电晕,我有一个图像由于碰撞而转换到新的x / y位置(使用物理模块)。

我想要第二张图像,一张阴影图像,以跟随第一张图像。我需要缩放阴影并移动它的y坐标。

如何让第二个物体在移动时镜像第一个物体?

...以下实际上似乎工作正常,但我认为它不是最有效的。会对进一步的想法感兴趣吗?

local function onGlobalPostCollision( event )
    shadowImageOne.x = tabImageOne.x
    shadowImageTwo.x = tabImageTwo.x
    shadowImageThree.x = tabImageThree.x
end

Runtime:addEventListener( "postCollision", onGlobalPostCollision )

1 个答案:

答案 0 :(得分:0)

三种方式,基本上:

使用参考

如果您将该职位存储为表格,例如:

position = [x, y]

然后只需通过引用来设置它。

每帧手动复制

简单。在更新例程的每次迭代中,将图形精灵位置设置为物理位置

无状态渲染

使渲染无状态。使其每次都采用完整的程序状态并基于此绘制。如果没有保留状态,则无需更新。

一般来说,我个人会避免在显示对象中保持状态。这使得单独测试逻辑变得更加困难并产生类似的问题。无状态渲染为您提供同步保证; hovewer,如果图形需要密集缓存,可能会产生一些性能损失(如果成本太高,你不想每次重新创建所有精灵)。