Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 日冕中loqSprite物体的拖曳_Lua_Coronasdk - Fatal编程技术网

Lua 日冕中loqSprite物体的拖曳

Lua 日冕中loqSprite物体的拖曳,lua,coronasdk,Lua,Coronasdk,我不熟悉使用loqSprite,我尝试拖动loqSprite sprite对象,但它没有完成,但是它只调用其侦听器一次,然后在它的touch listner没有被调用,甚至没有给出任何错误后,sprite正在播放。我还认为我的drag/listener函数可能有问题,但当我在inbult corona的Sprite对象上尝试相同的drag(movePen()函数)时,效果很好。我不知道我错过了什么。谁能帮帮我吗。。。。下面是代码片段。谢谢 local function movePen(event

我不熟悉使用loqSprite,我尝试拖动loqSprite sprite对象,但它没有完成,但是它只调用其侦听器一次,然后在它的touch listner没有被调用,甚至没有给出任何错误后,sprite正在播放。我还认为我的drag/listener函数可能有问题,但当我在inbult corona的Sprite对象上尝试相同的drag(movePen()函数)时,效果很好。我不知道我错过了什么。谁能帮帮我吗。。。。下面是代码片段。谢谢

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

首先,不需要在循环中调用penSpriteAnim:play()。因为它将自动在循环中播放,直到您不调用penSpriteAnim:pause()函数为止

对于touch listener,应该在页面顶部声明所有局部变量。 我对此不确定,但希望这能奏效。因为lua是从上到下编译的