【问题标题】:Corona SDK - Use scrollview listener to move image with scrolling momentumCorona SDK - 使用滚动视图侦听器以滚动动量移动图像
【发布时间】:2013-07-03 02:44:25
【问题描述】:

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

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

【问题讨论】:

    标签: lua scrollview coronasdk


    【解决方案1】:

    我想你想实现一些视差滚动。 您应该从滚动视图 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 
    

    【讨论】:

    • 你确定Runtime:addEventListener( "enterFrame", updateBgPos ) 是对的吗?那不是Runtime:addEventListener( "enterFrame", nil )吗?
    • 感谢您的建议。
    猜你喜欢
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多