cocos碰撞检测
2016-03-27 10:38
639 查看
Rect rc1 =_spriteAuto->getBoundingBox();
Rect rc2 =_spriteCtrl->getBoundingBox();
if(rc1.intersectsRect(rc2))则认为碰撞
// 两个圆的碰撞检测,看圆心距离
Point pt1 =_spriteAuto->getPosition();
Point pt2 =_spriteCtrl->getPosition();
Rect rc1 =_spriteAuto->getBoundingBox();
Rect rc2 =_spriteCtrl->getBoundingBox();
float r2 = rc1.size.width/ 2 + rc2.size.width / 2;
float dist =pt2.getDistanceSq(pt1);
if (dist < r2*r2)则认为碰撞
碰撞的高效算法:将矩形分块,只判定个块的情况,要比整个的好一些(防止连续碰撞)。
总结:矩形和矩形(Rect::intersectsRect(Rect))
矩形和圆(Rect::intersectsCircle(Vec2-圆心,float-半径))
矩形和点(Rect::containsPoint(Vec2))
点和圆:圆心半径距离
圆和圆:圆心半径是否小于半径之和
线段:ccpSegmentIntersect()参数是4个Vec2,表示2个线段
相关文章推荐
- Cocos定时器
- Cocos单点触摸
- Cocos坐标体系
- Cocos精灵
- Cocos 安装和配置和初探(创建自己的Scene
- 【cocos2dx 3.10】android studio真机调试的配置
- Cocos2d-x3.9 在Windows平台下编译打包成APK
- cocos2d-x中文显示问题
- cocos studio 执行命令出错,返回值:2。
- 多平台响应键盘事件!(适用于Cocos2dx 3.0 alpha以上版本号)
- 解决Cocos项目中遇到的fatal error c1083(无法打开包括文件)
- 在cocos2dx中通过php文件访问服务器数据库(3)
- 在cocos2dx中通过php文件访问服务器数据库(2)
- cocos2dx windows phone平台下CCLabelTTF自己主动换行的实现(2)
- Cocos2d-x笔记记忆整理Day6-绘图原理及优化
- Cocos2d-x笔记记忆整理Day5
- Cocos2d-x笔记记忆整理Day4
- Cocos2d-x笔记记忆整理Day3
- Cocos2d-x笔记记忆整理Day2
- cocos2dx 3.10 lua环境配置与代码调试