Cocos2d-x Lua 触摸事件

    今天在编码过程中,发现触摸按钮后,按钮会回调两次。

button:addTouchEventListener(
            function ()
                --自定义函数内容
            end
        )

    原因:

             通过addTouchEventListener来添加触摸事件时,如果直接用无参匿名函数,会导致上述情况。这是因为触摸事件eventType分为began、moved、ended三种情况,所以在没有设置eventType的类型时,每种情况下都会执行注册的事件。这就会让人看起来执行了两次。(分别在began和ended)

    解决办法:

button:addTouchEventListener(
            function (sender,eventType)
                if eventType == ccui.TouchEventType.began then
                elseif eventType == ccui.TouchEventType.moved then
                elseif eventType == ccui.TouchEventType.ended then
                    --自定义函数内容
                end
            end
        )

猜你喜欢

转载自blog.csdn.net/dyy970319/article/details/85234620