关于Cocos2d-x程序运行时候提示关闭程序的框框的解决方法
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程序运行时候提示关闭程序的框框的解决方法的更多相关文章
- ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法(netsh winsock reset)
问题描述:在开发系统时候运行程序突然报出"WebDev.WebServer40.exe已停止工作"的错误,程序调试运行,发现程序在打开数据库时候报错,也就是Connection.O ...
- 运行jar提示“没有主清单属性”的解决方法
以下记录的是我export jar包后运行遇到问题的解决方法,如有错误,欢迎批评指正. 1.运行导出jar包,提示"没有主清单属性" 2.回想自己导出jar的操作是否有误,重新ex ...
- 【转】 VC++ 关闭程序后任务管理器进程中进程仍然存在的解决方法
转载出处:http://blog.csdn.net/zac_sian/article/details/50809084 可以从以下两个方面进行查找! 1.程序开启了进程,进程中使用了while(1), ...
- Windows 系统提示“内存不足”的原因及解决方法
Windows 系统提示“内存不足”的原因及解决方法 windows XP vista 及windows 7系统的电脑有时候会出现系统提示“内存不足”,这是由多方面原因造成的.本文具体分析下 ...
- delphi xe4 程序添加管理员权限要求后不能调试的解决方法
环境: win7 企业版 xe4 问题: 把项目设置为需要管理员权限才能运行后,调试会弹出一个提示框,如图:
- 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法
Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...
- XCode 添加自定义framework运行时出现dyld: Library not loaded的解决方法
XCode添加自定义framework运行时出现dyld: Library not loaded的解决方法 在使用自定义的framework运行时,会出现如下的错误: dyld: Library no ...
- Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...
- vs2010一运行就报错deven.exe assert failure 解决方法,卸载系统中.netFramework最新版本的(简体中文)
vs2010一运行就报错deven.exe assert failure 解决方法,卸载系统中.netFramework最新版本的(简体中文)
随机推荐
- eclipse智能提示优化
1.Windows→Preferences→Java→Editor→Content Assist 其中的AutoActivation Delay默认值为200(单位是毫秒)也就是说在打“.”之后停留2 ...
- Linux内存初始化(二)identity mapping和kernel image mapping
一.前言 本文没有什么框架性的东西,就是按照__create_page_tables代码的执行路径走读一遍,记录在初始化阶段,内核是如何创建内核运行需要的页表过程.想要了解一些概述性的.框架性的东西可 ...
- C#--类之隐藏基类的成员
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- EF 多线程TransactionScope事务异常"事务EFTransaction类定义:与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。"
解决方案代码一:使用lock锁定 //对于锁推荐使用静态私有静态变量 private readonly static object _MyLock = new object(); /// <su ...
- ubuntu16.4搭建tensorflow环境
1 说明: 本机配置:显卡gtx970,ubuntu16.4.1+cuda8.0+cudnn v5+tensorflow0.11 1. 下载 1.1 系统镜像 由于我尝试了ubuntu14.04,安装 ...
- java的IO总结(一)
Java的IO流是实现输入输出的基础,这里所说的流就是数据流,大部分的与流相关的类放在Java.io包下. 一,Java的流分类 按照不同的分类方式可以把流分成不同的类型,下面我们从不同的角度对流进行 ...
- Android开发11——手机横屏和竖屏与android:configChanges
目前大多数手机都支持重力感应随之而来的就是屏幕方向改变的问题.对应普通开发者来说屏幕的随意改变也会带来困扰.在Google自带的doc里可以看到,如果设备的配置(Resources.Configura ...
- iOS __weak学习碰到的疑问
__weak弱引用并不持有对象,所以赋值给__weak修饰符的变量也不会改变计数器的值. main.m id __strong obj3 = nil; id __weak obj1= ...
- C++防止头文件反复包括
两种方法: (1)#pragma once. (2)ifndef/define/endif 差别: (1)#pragma once是编译器相关的.有的编译器支持,有的编译器不支持: (2)#ifnde ...
- Android开发之控制摄像头拍照
如今的手机一般都会提供相机功能,有些相机的镜头甚至支持1300万以上像素,有些甚至支持独立对焦.光学变焦这些仅仅有单反才有的功能,甚至有些手机直接宣传能够拍到星星.能够说手机已经变成了专业数码相机.为 ...