2012-10-11 53 views
4

我是新來使用loqSprite,我試圖拖動loqSprite精靈對象,但它沒有得到完成,但它所謂的聽衆只有一次,再經過既不其觸摸聽者獲取調用甚至也不它給出了任何錯誤,精靈正在播放。另外我認爲可能我的拖動/偵聽器功能可能是越野車,但是當我試着在inbult corona的Sprite對象上使用同樣的拖動(movePen()函數)時,它工作正常。我不知道我在想什麼。任何人都可以請幫助我....下面是代碼片段。謝謝拖動loqSprite對象的

local function movePen(event) 
    local targetObj= event.target; 

     if event.phase == 'began' then 
      display.getCurrentStage():setFocus(targetObj); 
      targetObj.isFocus = true; 
      targetObj.y = event.y; 
     elseif event.phase == 'moved' then 
      targetObj.x = event.x; 
      targetObj.y = event.y; 
     elseif event.phase == 'ended' then 
      display.getCurrentStage():setFocus(nil); 
      targetObj.isFocus = false; 
     end 
     return true; 
end --end of touch/move function 

local spriteFactoryForPen = loqsprite.newFactory('penAnimation') 
local penSpriteAnim = spriteFactoryForPen:newSpriteGroup('pen_write') 
penSpriteAnim.x = 100 
penSpriteAnim.y = 200 

local function spriteEvent (e) --listener to play in loop 
    if(e.phase == "end") then 
    penSpriteAnim:play() 
    end 
end -- end of sprit event function 

penSpriteAnim:addEventListener("touch", movePen); -- adding listener to move pen object 
penSpriteAnim:addEventListener("sprite", spriteEvent) -- adding listener to play in loop 
penSpriteAnim:play('pen_write') -- playing pen Sprite 

回答

0

首先,沒有必要在循環中調用penSpriteAnim:play()。因爲它會自動循環播放,所以不要調用penSpriteAnim:pause()函數。

你的觸摸監聽器,你應該聲明在頁面頂部所有的局部變量。 我不知道這一點,但希望這將工作。因爲Lua是編譯從上到下。