4 votes

déplacement de l'objet loqSprite dans corona

Je suis nouveau dans l'utilisation de loqSprite, j'essaie de faire glisser un objet sprite loqSprite mais cela ne se fait pas, cependant il n'appelle son écouteur qu'une seule fois et ensuite ni son écouteur tactile n'est appelé ni même il ne donne une erreur, le sprite est joué. J'ai également pensé que ma fonction drag/listener était peut-être défectueuse, mais lorsque j'ai essayé de faire glisser le même objet (fonction movePen()) sur l'objet Sprite de Corona, cela a fonctionné correctement. Quelqu'un peut-il m'aider ? .... Voici l'extrait de code. Merci.

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

0voto

Chomu Points 204

Tout d'abord, il n'est pas nécessaire d'appeler penSpriteAnim:play() en boucle. Parce qu'il jouera automatiquement en boucle jusqu'à ce que vous n'appeliez pas la fonction penSpriteAnim:pause().

Pour votre écouteur tactile, vous devez déclarer toutes les variables locales en haut de la page. Je ne suis pas sûr de cela, mais j'espère que cela va fonctionner. Parce que Lua est compilé de haut en bas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X