3

我想通过滚动视图中的滚动动作来移动我的“背景”图像,并且我希望背景的移动速度比滚动视图的内容慢,以给人以深度的印象。这是我正在使用的代码。它有效,但前提是屏幕正在接收触摸。我希望它继续随着滚动势头移动。我究竟做错了什么?

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

    if phase == "moved" then
       if event.limitReached then
        -- do nothing
       else
            bg.x = x  /3
       end
    end

    return true
end
4

1 回答 1

0

我想你想实现一些视差滚动。您应该从 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-03T20:04:56.153 回答