2013-07-03 63 views
3

我想在滾動視圖中使用滾動操作來移動我的「背景」圖像,我希望背景的移動速度比滾動視圖的內容慢,深度。這是我正在使用的代碼。它的工作原理,但只有在屏幕接收到觸摸。我希望它隨着滾動的勢頭繼續前進。我究竟做錯了什麼?Corona SDK - 使用滾動視圖監聽器來移動滾動圖像的圖像

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 

回答

0

我想你想實現一些視差滾動。 你應該從滾動視圖scrollListener(事件) 「移動」 事件

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 
+0

確定'運行拖動距離:的addEventListener( 「enterFrame事件」,updateBgPos)'是正確的?這不會結束'運行時:addEventListener(「enterFrame」,零)'? – greatwolf

+0

或者你的意思是'如果updateBgPos然後'? – greatwolf

+0

謝謝你的建議。 – vovahost