1.这个情况是资源没有被加载的表现

如果AppDelegate.cpp里面没有文件索引的语句 FileUtils::getInstance()->addSearchPath("res");,就更加说明是资源找不到的问题

解决方法

把资源直接复制在Resources文件的根目录下,不要放在Resources/Res目录下。

2.可能是实例化对象类的init方法中没有重写父类的init方法

解决方法

在实例化对象类的init方法中写

Node::init()

Sprite::init()

3.可能是所要使用的资源文件(图片,声音等等)没有在Resources文件夹目录下

解决方法

认真确认资源信息,有可能是资源的文件名写错

4.可能是还没有设置myHero->setPhysicsBody(),就使用myHero->getPhysicsBody(),就会出现关闭程序的框框

解决方法

认真寻找myHero->getPhysicsBody()的句子,在这之前必须有一句myHero->setPhysicsBody()来设置它的物理刚体,一般都是myHero写错成其他名字导致系统找不到这个其他名字的PhysicsBody所引发的错误

5.可能是已经在.h文件中定义类型的变量,在.cpp中又用auto定义了一遍,这个有时候也造成系统输出:读取位置 0x0000039C 时发生访问冲突等错误

.h文件中

Sprite  *confirm;

.cpp文件中

auto confirm = Sprite::create();

解决方法

把auto关键词去掉

6.可能是还没定义节点的大小(或者其他变量的某个属性),就先使用

sprite->getContentSize();

这种情况下也会出现框框

7.可能是语句执行顺序有问题,比如我把

hero_life--;---语句1

this->runAction(Sequence::create(hurt, moveTo, call1 , call2,NULL));---语句2

写成

this->runAction(Sequence::create(hurt, moveTo, call1 , call2,NULL));

hero_life--;

结果动作还没执行完突然玩家强制断了动作,导致必须执行hero_life--;没有执行到,漏执行了一次。但是

gamecontroller->onHurt();  //里面包含了语句1和语句2
cutLife();  //消除一个代表生命的爱心

却把cutLife();执行了,就会出现主角还没死但是代表生命的爱心已经全部消失了。

这时候,再进行碰撞,生命值hero_life终于满足死亡的标准,但是多执行了一次cutLife(),而cutLife()里面放爱心精灵的数组已经空了,这时候再去删除节点和删除数组元素就会出现停止运行的框框。

其实最好的方法是在GameScene.cpp的init方法中先获得主角的生命值_heroLife,再在碰撞检测方法中这样写

if (tag1 == HERO_TAG)
{

  _heroLife--;//先减1,确保不会因为动作执行没完导致没有执行减1的操作
  cutLife();//把爱心去除
  gamecontroller->onHurt();//播放受伤动画
  if (_heroLife < 1)//判定死亡
  {
    this->unscheduleUpdate();
    gcs.clear();
    auto dir = Director::getInstance();
    dir->getEventDispatcher()->removeEventListener(contactListener);
    dir->replaceScene(QuestionScene::createScene(_heroCount, 20));
  }
}

关于Cocos2d-x程序运行时候提示关闭程序的框框的解决方法的更多相关文章

  1. ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)

    问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...

  2. 运行jar提示“没有主清单属性”的解决方法

    以下记录的是我export jar包后运行遇到问题的解决方法,如有错误,欢迎批评指正. 1.运行导出jar包,提示"没有主清单属性" 2.回想自己导出jar的操作是否有误,重新ex ...

  3. 【转】 VC++ 关闭程序后任务管理器进程中进程仍然存在的解决方法

    转载出处:http://blog.csdn.net/zac_sian/article/details/50809084 可以从以下两个方面进行查找! 1.程序开启了进程,进程中使用了while(1), ...

  4. Windows 系统提示“内存不足”的原因及解决方法

         Windows 系统提示“内存不足”的原因及解决方法 windows XP vista 及windows 7系统的电脑有时候会出现系统提示“内存不足”,这是由多方面原因造成的.本文具体分析下 ...

  5. delphi xe4 程序添加管理员权限要求后不能调试的解决方法

    环境: win7 企业版 xe4 问题: 把项目设置为需要管理员权限才能运行后,调试会弹出一个提示框,如图:

  6. 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法

    Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...

  7. XCode 添加自定义framework运行时出现dyld: Library not loaded的解决方法

    XCode添加自定义framework运行时出现dyld: Library not loaded的解决方法 在使用自定义的framework运行时,会出现如下的错误: dyld: Library no ...

  8. Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:

    直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...

  9. vs2010一运行就报错deven.exe assert failure 解决方法,卸载系统中.netFramework最新版本的(简体中文)

    vs2010一运行就报错deven.exe assert failure 解决方法,卸载系统中.netFramework最新版本的(简体中文)

随机推荐

  1. 最简单的回射客户/服务器程序、time_wait 状态

    下面通过最简单的客户端/服务器程序的实例来学习socket API. echoser.c 程序的功能是从客户端读取字符然后直接回射回去.  C++ Code  1 2 3 4 5 6 7 8 9 10 ...

  2. mysql 查询昨天,今天、七天、30天的数据

    主要是时间戳转"1993-01-01 00:00:00"的时间格式,然后和当前时间比对CURDATE() 如果字段本身符合正常时间格式,则直接使用即可 今天的数据 SELECT * ...

  3. js 与 php 时间戳的区别(毫秒与秒的计算方式)

    js是以毫秒为单位计算的,php是以秒为单位计算的,所以转换时记得*/1000 //距离时间的时间戳 var suoshengshijian = <?php echo $expire_time_ ...

  4. html中如何让table显示的更好

    在html文件编写中,经常使用到table来做一些表格.如何让它显示的更像一张表格?接下来为你讲解. 基本格式 <div> <th>我的一张表格</th> < ...

  5. unity 在Game视图中显示Gizmos

    自己画的Gizmos要想在Game视图中能看到,需要把Game视图窗口右上角的"Gizmos"按钮点下去.如图: 比如,下面代码以角色的capsuleCollider中心为中心画一 ...

  6. Spring的三种注入方式(Setter、构造函数和自动注入)

    一.Setter注入 这里我是希望在Student.java中调用Course.java中的内容. public class Course { public String name = "数 ...

  7. 【Android】5.4 下拉框(Spinner)

    分类:C#.Android.VS2015: 创建日期:2016-02-07 下拉列表框Spinner的用法和WinForms中ComboBox的用法非常相似,在Android应用中使用频次也相当高,因 ...

  8. Tomcat Jboss Glassfish 三种常见web容器比较

    一.缘由: 新公司平台是纯Java架构,有用到Java Web(JSP).Java 业务(EJB).Nginx..Websphere MQ.Mysql这样.大家知道java是跑在容器里的, 这里的业务 ...

  9. C++11新特性应用--介绍几个新增的便利算法(用于排序的几个算法)

    继续C++11在头文件algorithm中添加的算法. 至少我认为,在stl的算法中,用到最多的就是sort了,我们不去探索sort的源代码.就是介绍C++11新增的几个关于排序的函数. 对于一个序列 ...

  10. 一文读懂什么是Java中的自动拆装箱

    基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为 ...