设备上在“moved”事件期间使用Transition.to出现问题。

基本上,我有一个围绕在屏幕上旋转的挡板,根据用户触摸的位置进行控制。在 corona 模拟器中,我的代码运行得非常顺畅......但在我的测试设备上......情况就不一样了。

-现在所有的代码都是伪代码,但这就是它的要点
local function movePaddle(event)
local phase = phase

if phase == "began" then
--基于 centerX/centerY 获取触摸角度
--获取挡板当前位置的角度
--使用 ((((touchAngle-   paddleAngle)%360)+540)%360)-180 获取两者之间的 deltaAngle
transition.to(paddle,{rotation = deltaAngle, time = 200, delta = true, transition = easing.outElastic})

elseif phase == "moved" then
--基于 centerX/centerY 获取触摸角度
--获取挡板当前位置的角度
--使用 ((((touchAngle-paddleAngle)%360)+540)%360)-180 获取两者之间的 deltaAngle
transition.to(paddle,{rotation = deltaAngle, time = 200, delta = true, transition = easing.outElastic})
end
end

在模拟器上没有问题......但当我在设备上运行时,“began”阶段非常顺利,但如果用户拖动手指,挡板会明显滞后。我尝试了其他缓动函数,包括没有缓动函数(默认为线性iirc)。我的猜测是,在“移动”阶段,transition.to 中的时间被叠加了。

请帮帮我 :( 这是 transition.to 的已知问题吗?如果需要,我可以提供确切的代码。

点赞
用户1870706
用户1870706

没有看到你的更多代码,有可能是你正在生成大量的触摸事件,这些事件会生成很多过渡效果。我不确定我是否该过渡挡板,而只是简单地用手指移动它。

2015-05-11 04:32:21