小编Iva*_*nko的帖子

Cocos2d html5 onTouchEnded无效

在我的简单项目中,我使用触摸事件来更改按钮状态:在这种情况下,一切正常

cc.eventManager.addListener(
{
    event: cc.EventListener.TOUCH_ALL_AT_ONCE,
    swallowTouches: false,
    onTouchesBegan: onTouchesBegan,
    onTouchesEnded: onTouchesEnded
}, this);
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下我的onTouchEnded函数从未被调用过:

cc.eventManager.addListener(
{
    event: cc.EventListener.TOUCH_ONE_BY_ONE,
    swallowTouches: false,
    onTouchBegan: onTouchBegan,
    onTouchEnded: onTouchEnded
}, this);
Run Code Online (Sandbox Code Playgroud)

经过一段时间的调试后,我在cc.eventManager._onTouchEventCallback函数中找到了"if"语句:

} else if (listener._claimedTouches.length > 0
    && ((removedIdx = listener._claimedTouches.indexOf(selTouch)) != -1))
{
Run Code Online (Sandbox Code Playgroud)

在我的情况下,"listener._claimedTouches"== 0并且if语句拒绝调用onTouchMove和onTouchEnded侦听器.

有没有人知道为什么"listener._claimedTouches"== 0以及为什么会发生这样的事情?

javascript html5 cocos2d-html5 cocos2d-js

2
推荐指数
1
解决办法
592
查看次数

标签 统计

cocos2d-html5 ×1

cocos2d-js ×1

html5 ×1

javascript ×1