使用scrollview监听器,以滚动动量移动图片的Corona SDK。

我想通过滚动视图中的滚动操作移动我的“背景”图像,我希望背景比滚动视图的内容移动得更慢,以给人深度的印象。这是我正在使用的代码。它可以工作,但只有在屏幕受到触摸时才行。我希望它可以随着滚动动量继续移动。我做错了什么?

local function scrollListener(事件)
    local phase = event.phase
    local x,y = scrollView:getContentPosition()

    if phase ==“moved”then 
        if event.limitReached then
            --什么也不做
        别的 
            bg.x = x / 3
        end 
    end 

    return true 
end 
点赞
用户1502079
用户1502079

我认为你想要实现一些视差滚动。 你应该从scrollview的scrollListener(event)“move”事件中获取拖动距离。

local isListening = false

local function scrollListener( event )
    local phase = event.phase

    if "began" == phase then
        if(isListening) then
            Runtime:addEventListener( "enterFrame", updateBgPos )
            isListening = true
        end
    elseif phase == "moved" then
       if event.limitReached then
           Runtime:removeEventListener( updateBgPos )
           isListening = false
       end
    end

    return true
end

local function updateBgPos(event)
    local x, y = scrollView:getContentPosition()
    bg.x = x / 3
end
2013-07-03 20:04:56