2015-02-10 91 views
0

我有一個對象,我只是想上下移動。我怎麼能讓這個物體在沒有實際接觸物體的情況下上下移動呢?這裏是我的代碼至今:在日冕中拖動對象

function Scientist:touch(event) 
if event.phase == "began" then 

     display.getCurrentStage():setFocus( nil) 
     self.markY = self.y  
     self.isFocus = false 
elseif event.phase == "moved" then 

     local y = (event.y - event.yStart) + self.markY 
     self.y = y 

elseif event.phase == "ended" or event.phase == "cancelled" then 

     display.getCurrentStage():setFocus(nil) 

end 

     return true 

end 
     Scientist:addEventListener('touch', Scientist) 

回答

0

只需創建一個大矩形,設置透明度爲0,使寬度display.contentWidth和高度display.contentHeight。當你觸摸那個矩形時,讓你以類似的方式移動科學家。

0

讓Alpha設置整個頁面上的一個矩形,以0.01:

local background = display.newRect(display.contentWidth/2, display.contentHeight/2, display.contentWidth, display.contentHeight) 

然後寫一個觸摸監聽像你這樣background:addEventListener('touch', background)

這裏是完整的代碼爲您提供:

function Scientist:touch(event) 
    if event.phase == "began" then 
     display.getCurrentStage():setFocus( nil) 
     Scientist.markY = Scientist.y  
     self.isFocus = false 
    elseif event.phase == "moved" then  
     local y = (event.y - event.yStart) + Scientist.markY 
     Scientist.y = y  
    elseif event.phase == "ended" or event.phase == "cancelled" then  
     display.getCurrentStage():setFocus(nil)  
    end  
return true 
end 
Scientist:addEventListener('touch', Scientist)