使用电晕,我有一个图像由于碰撞而转换到新的x / y位置(使用物理模块)。
我想要第二张图像,一张阴影图像,以跟随第一张图像。我需要缩放阴影并移动它的y坐标。
如何让第二个物体在移动时镜像第一个物体?
...以下实际上似乎工作正常,但我认为它不是最有效的。会对进一步的想法感兴趣吗?
local function onGlobalPostCollision( event )
shadowImageOne.x = tabImageOne.x
shadowImageTwo.x = tabImageTwo.x
shadowImageThree.x = tabImageThree.x
end
Runtime:addEventListener( "postCollision", onGlobalPostCollision )
答案 0 :(得分:0)
三种方式,基本上:
如果您将该职位存储为表格,例如:
position = [x, y]
然后只需通过引用来设置它。
简单。在更新例程的每次迭代中,将图形精灵位置设置为物理位置
使渲染无状态。使其每次都采用完整的程序状态并基于此绘制。如果没有保留状态,则无需更新。
一般来说,我个人会避免在显示对象中保持状态。这使得单独测试逻辑变得更加困难并产生类似的问题。无状态渲染为您提供同步保证; hovewer,如果图形需要密集缓存,可能会产生一些性能损失(如果成本太高,你不想每次重新创建所有精灵)。