Physics 碰撞检测回调方法出错或者没有效果解决方法

1.碰撞检测回调方法编译出错;

auto *listener = EventListenerPhysicsContact::create();

listener->onContactBegin = CC_CALLBACK_1(HelloWorld::onContactBegin,this);

在3.0rc版本中回调函数的参数变为一个,不能使用原来的两个参数;

bool HelloWorld::onContactBegin(PhysicsContact& contact)

{

auto spriteA = (Sprite*)contact.getShapeA()->getBody()->getNode();

auto spriteB = (Sprite*)contact.getShapeB()->getBody()->getNode();

return true;

}

2.回调方法不调用

添加如下代码:

PhysicsBody * body = PhysicsBody::createCircle(_ball->getContentSize().width/2);

PhysicsBody * body2 = PhysicsBody::createCircle(_ball->getContentSize().width/2);

body->setMass(1.0f);

body->setContactTestBitmask(0xFFFFFFFF);

body2->setMass(1.0f);

body2->setContactTestBitmask(0xFFFFFFFF);

Physics 碰撞检测回调方法出错或者没有效果解决方法,布布扣,bubuko.com

时间: 2024-12-05 03:21:34

Physics 碰撞检测回调方法出错或者没有效果解决方法的相关文章

MVC自我学起之MVCMusic开发中遇到问题:musicstore edit方法出错的原因和解决方法

错误提示: 存储区更新.插入或删除语句影响到了意外的行数(0).实体在加载后可能被修改或删除.刷新 ObjectStateManager 项. 解决案: 1.在view中或model中增加隐藏id 1.1 修改model [HiddenInput()]public int AlbumId { get; set; } 1.2在视图中增加:(一般 若是用自动新建的curd中会自带) 加@Html.HiddenFor(model => model.AlbumId) 2.得到id也有两种方法一种是修改m

在IE浏览器中执行OpenFlashChart的reload方法时无法刷新的解决方法

由于项目需求,需要在网页上利用图表展示相关数据的统计信息,采用了OpenFlashChart技术.OpenFlashChart是一款开源的以Flash和Javascript为技术基础的免费图表,用它能创建一些很有效果的报表分析图表.最重要的是它是开源和免费的,支持多种语言.首先在官网上下载开发包,里面包含了所需的flash文件.js文件以及多种语言的demo,这些demo写的非常详细,可以进行参考开发.由于项目使用.net来开发,所以我学习了一下开发包中对应的dotnet代码,这个.net项目采

FragmentPagerAdapter的getItem()方法无法获取Fragment的解决方法

关于此问题,我搞了一个下午,都没有解决,得不到先前的Fragment,因为Fragment会不断释放资源. 最终脑袋一热,TND的解决了.就是在如下代码的时候,将Fragment存储在一个HashMap里面,代码如下: Utils类的代码如下: 其中setFragmentFromPosition方法是保存Fragment: removeFragment方法是将不需要的Fragment从HashMap中删除(此方法很重要,如果不调用,会因为HashMap而报内存溢出OutOfMemory); fi

【cocos2dx】rapidjson使用方法以及中文显示的解决方法【续】

上一个博客讲了怎么用rapidjson读取中文字符串,但是有一个很明显的缺陷 就是不能直接读取数据编辑器导出的数据.下面我们来修复这个bug并且将代码精简到不到原来的一半大小. 上一博客的地址是:[cocos2dx]rapidjson使用方法以及中文显示的解决方法 不多说 直接上源码吧: 首先,数据编辑器导出的格式是: [{"id":1,"content":"再次按下返回键退出游戏"},{"id":2,"conten

IIS启动网站出错的几个解决方法

在ASP.NET项目中使用了IIS服务器,由于系统是XP的,而在装系统的时候IIS没有一起装,所以从网上下载的IIS5.0版本(其它版本XP是用不了的).但是在使用的过程中老是出问题,每次调试好后,过几天再打开就运行不了.然后又去调试.安装,因此把我遇到的几次问题和解决方法总结如下.1.本地网址访问不了,启动本地网站报错:服务没有及时响应启动或控制请求.或者启动World Wide Web Publishing提示"错误127:找不到指定的程序.   这种情况遇到的最多,可能也和IIS的版本有关

入坑Intel OpenVINO:记录一个示例出错的原因和解决方法

今天试用OpenVINO的例子,在过程中发现了一些其他人没有经历的坑特别记录一下. 出错时候:执行Intel OpenVINO示例的是时候,出错的提示代码: 用于 .NET Framework 的 Microsoft (R) 生成引擎版本 15.9.21+g9802d43bc3 版权所有(C) Microsoft Corporation.保留所有权利. 8>C:\Intel\computer_vision_sdk_2018.5.445\deployment_tools\inference_eng

eclipse中将项目打包成jar的两种方法,及其问题与解决方法

第一种:利用eclipse中自带的export功能 第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包 步骤一:右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件) 步骤二:选择你要导出的项目以及文件,指定文件导出路径.连续点击两个下一步后到第四步. 步骤三:选择主类. 按照以上步骤即可完成对一个不引用外部jar项目的打包. 第二种情况:引用了外部jar的项目打包 当我们引用了外部jar后,使用eclipse自带的export打包略显繁琐.

处理Response.Write()方法,无法弹出的解决方法

使用Response.Write()方法,居然在页面没有弹出,然后调浏览器看到一个错误提示: Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器收到的消息 在页面上我写的是: <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID=&

linux虚拟机网络配制方法及遇到问题的解决方法

linux虚拟机网络问题 刚安装一个vmware虚拟机,并在上面安装了一个redhat linux操作系统. 安装完后配制了下网络. 首先观察windows上的网络配制. ip:192.168.1.109 nemask:255.255.255.0 gateway:192.168.1.1 通过这些东西可以看出虚拟机也应该在同一个网段(192.168.1.0),同一个网关(192.168.1.1) 子网掩码当然也应该是255.255.255.0 配制方法分两种: 一.临时配制: 配制ip,子网掩码