续 2.2.5plus Touch 事件Bug

紧接上篇(关于2.2.5的touch事件 bug ):

   首先感谢@阳光七月 , 上篇的问题,我升级到了2.2.5 plus.  但又发现新的问题:
local item1 = display.newSprite("item.png")
    item1:pos(display.cx, display.cy)
    item1:addTo(self)
    item1:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(param)
        local event = param.name
        print(event, "llllll")
        if event == "began" then
            print("began1")
            return true
        elseif event == "ended" then
            print("end1")
        end
    end)
    item1:setTouchMode(cc.TOUCH_MODE_ALL_AT_ONCE)
    item1:setTouchEnabled(true)
    item1:setTouchSwallowEnabled(false)

local item2 = display.newSprite("item.png")
    item2:pos(display.cx - 300, display.cy)
    item2:addTo(self)
    item2:addNodeEventListener(cc.NODE_TOUCH_EVENT, function(param)
        local event = param.name
        print(event, "llllll")
        if event == "began" then
            print("began2")
            return true
        elseif event == "ended" then
            print("end2")
        end
    end)
    item2:setTouchMode(cc.TOUCH_MODE_ONE_BY_ONE)
    item2:setTouchEnabled(true)
    item2:setTouchSwallowEnabled(false)
```


 这两个一个是单点触摸,一个是多点触摸,  大概的操作是:  启动游戏进入:  

    1, 分别点击。   能显示  “began1” “end1”     和  “began2”  “end2”
    2, 将游戏退到后台,或者过个1、2s 再进游戏。 这时候关键了->  只要单单点击: item2 能显示 “began2”  “end2”,  但只要再点击了 item1 后面就只有 "added" 和  “removed”( 这是指:点击了Item1后再点击Item2)


   我想正常应该 都是 “began1” “ end1”  和 “began2” 和 “end2”  吧。   以上操作都是单手点击哈。。。   望重视啊。。 这很严重啊。。。

看上去问题确实很严重

跪请 廖大天神下凡… 此贴不能沉…

追加:
如果 两个都 设置为 cc.TOUCH_MODE_ALL_AT_ONCE, 结果还是一样的。 当把游戏切到后台,再切进来的时候,
单点点击:事件依次为 “began” -> “removed” “added” -> “removed” “added” -> “removed” … 这样一直这两种事件。

正常流程应该是这样的:
第一个触点–began
第二个触点-added
一个触点放开-removed
最后一个触点放开-ended

看你的流程,为什么会出现began后就removed的情况呢?只有一个触点放开应该只是ended啊

对。 我说的就是 测出来的不正常现象哈。 所以才问的。

这个很好重现的。, 用2.2.5 plus 新建一个prj,用pad真机测试。 操作步骤就我描述的。 切换下游戏。

再次点击看log就出来了。 代码就我上面贴的。 放到MainScene.lua 里面,AppController.mm 里面 把:

然后什么都不用动,装上pad测。 ipad或mini都行。必现呀。

将游戏退到后台

手势还是点击 HOME 键, 让 app 进入后台?

也许是退到后台,或者突然此时有一个原生UI弹出来(广告等),quick-x底层可能没有释放当前按在在界面上的触摸cancelled或者ended事件吧

就是点击 home 键 或者 手势划出来,都一样。

看来和切换到后台的触摸取消有关。楼主到github上发个issue吧,这样可以尽快得到修改。

跪求github地址… :977::977:

https://github.com/chukong/quick-cocos2d-x 2.x版本的

我估计不仅仅切换到后台会出现,有可能弹出原生UI也可能出现,比较弹出全屏广告,Alert等等

issue 我都已经报了。 但不知道 这个还会不会改. 我没试过3.v+ 版本的. 估计也有。

有issue都会处理的

我在模拟器上试了一下,没有发现这个问题,请问楼主是在真机上测试的吗?能不能在你那边的模拟器上试下是什么情况。

触摸的bug,在模拟器上面是测试不出来的,必须要在真机上测试。

ipad 或 mini 哈。都能出来。 操作步骤就上面说的,要切出去游戏再进来.

只是在pad上才有出现哇?iphone上也没问题?我这边刚好没有pad