源码:extensions\CocoStudio\GUI\System\UITouchGroup.cpp

void TouchGroup::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
ccArray* selectedWidgetArray = m_pSelectedWidgets->data;
int length = selectedWidgetArray->num;
for (int i=0; i<length; ++i)
{
Widget* hitWidget = (Widget*)(selectedWidgetArray->arr[0]);
m_pSelectedWidgets->removeObject(hitWidget);

hitWidget->onTouchEnded(pTouch, pEvent);   ---------这一行异常
}
}

异常发生后,查看变量信息,发现hitWidget有些信息已经被释放了,再看看hitWidget->onTouchEnded(pTouch, pEvent);这句之前是removeObject,想着有可能是removeObject中把hitWidget的部分内容给释放,所以,改为

void TouchGroup::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
ccArray* selectedWidgetArray = m_pSelectedWidgets->data;
int length = selectedWidgetArray->num;
for (int i=0; i<length; ++i)
{
Widget* hitWidget = (Widget*)(selectedWidgetArray->arr[0]);

hitWidget->onTouchEnded(pTouch, pEvent);

m_pSelectedWidgets->removeObject(hitWidget);

}
}

scroll中滚动再没出现过该异常。希望这个解决方案是正确的,如有问题,请指正。

转载于:https://www.cnblogs.com/playerboy/p/3972834.html

cocos2dx 2.2.5 hitWidget-onTouchEnded(pTouch, pEvent); 异常相关推荐

  1. 最新cocos2d-x 3.0博客教学 小游戏[史上最坑爹的游戏] 001主画面以及关卡选择画面的制作

    cocs2d的开发环境我相信大家都能搭建好了,下面我们直接的进入正题,开始做我们的小游戏,如果对搭建环境还有不懂的童鞋请看我写的这篇博文 cocos2d-x 3.0游戏开发xcode5帅印博客教学 0 ...

  2. 深入cocos2d-x中的touch事件

    深入cocos2d-x中的touch事件 在文章cocos2d-x中处理touch事件中简单讨论过怎样处理touch事件, 那么今天来深入了解下cocos2d-x中是怎样分发touch事件的. 我们最 ...

  3. 【cocos2d-x 手游研发----地图活起来了】

    谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...

  4. 【cocos2d-x 大型ARPG手游研发----地图活起来了】

    谈到地图不少人都说要做地图编辑器了,但是我暂时绕过这一步,如果不用寻路地图就不能移动?寻路就是会绕过障碍物的算法. 我做了一个简单的地图的思想,就是地图分层3层:背景层.可行区域层.遮罩层,但是地图就 ...

  5. Cocos2d-x学习(七):cocos2d-x中ScrollView的简单实现

    在游戏关卡选择,道具店之中经常会用到类似于ScrollView的控件,之前用AndEngine引擎的时候简单的实现了一个,(AndEngine滑动菜单传送门),考虑到手头的游戏以后也会用到,就先用co ...

  6. cocos2d-x 建立自己的层级窗口消息机制 .

    在开发一些窗口层次比复杂的cocos2d项目时,会发现一些由于没有窗口层次而引起的bug.这些bug让一些从windows平台过来的人觉得很无奈.比如,我们有一个列表控件,我们在其中放了一些菜单,当我 ...

  7. cocos2d-x 2.X 触屏事件

    游戏跟视频最大的区别就是互动,玩家可以操控游戏中的角色,现在的移动设备几乎人手一台,基本上全部都是基于触屏操作的,今天就来学习一下cocos2d-x是怎么实现对触屏操作的处理的. 1.首先来了解一下相 ...

  8. Cocos2Dx之触控处理-欧阳左至

    在上个章节中,我们已经看到了Win 32的消息泵驱动CCDirector在每个帧间隔时间到期后,调用mainLoop.但是对于触控事件,它同样是操作系统上报给应用的事件,我们没有看到它的踪迹.事实上, ...

  9. 手机2d横版游戏服务器位置同步,分析Cocos2d-x横版ACT手游源代码 2、服务器场景...

    还是一样 直接上代码 源代码 下一篇 上传 大家可以自己看 NFServerChangeLayer.h /*********************************************** ...

最新文章

  1. linux脚本外输入参数,shell 脚本中关于用户输入参数的处理
  2. hive导入导出数据案例
  3. 计算机科学中最重要的32个算法zz
  4. oracle 打印SQL
  5. 润乾报表列太多导致渲染速度慢_报表自动化: 如何选择可视化大屏开发利器
  6. po 价格条件表_SAP-MM定价条件全解析 -
  7. Write operations are not allowed in read-only mode 只读模式下(FlushMode.NEVER/MANUAL)写操作不允
  8. python面向对象类_python面向对象-类和对象
  9. C#出题库项目的总结(1)
  10. socket调试工具、socket调试软件、tcp调试工具、tcp调试软件(sokit)
  11. win10便签常驻桌面_Win10用户的印象笔记便签深度体验 | 大使专栏
  12. 职称计算机 frontpage 2003,计算机职称考试FrontPage2003考试大纲
  13. matlab汽车仿真实例,基于MATLAB的车辆工程仿真实例
  14. Python全栈工程实践
  15. beetl模板使用场景_Beetl使用注意事项
  16. python乌龟吃鱼小游戏(类和对象及Easygui应用)
  17. 打开后缀html,文件名后缀打开
  18. 今日头条阅读量怎么刷_揭露头条刷阅读量内幕:怎么刷的今日头条阅读量
  19. 数据结构里怎么只根据邻接表写出深度优先搜索和广度优先搜索序列
  20. 快速打开命令行方法集合

热门文章

  1. 阿里云服务器CentOS7版本yum方式安装mysql
  2. 单选选中改状态加边框(需要重绘:this.$forceUpdate(); )
  3. JQ中$(window).load和$(document).ready()使用,区别与执行顺序
  4. 简述Python中的break和continue的区别
  5. java基础 知识点
  6. 记于2014-12-9
  7. Android开发之适配器模式初探
  8. Android架构师亲述:我从某度外包到字节,你知道我经历了什么吗?
  9. 算法-----三数之和等于0
  10. 算法------长度最小的子数组