cocos2d-x 碰撞检测 20

CCSprite*sp1=CCSprite::create("banana.png");sp1->setPosition(ccp(200,300));addChild(s... CCSprite* sp1 = CCSprite::create("banana.png");
sp1->setPosition(ccp(200, 300));
addChild(sp1, 0, 1);

CCSprite* sp2 = CCSprite::create("streak-hd.png");
sp2->setPosition(ccp(250, 20));
addChild(sp2, 0, 2);

sp1->runAction(actionTo);

CCRect move1Rect = CCRectMake(sp1->getPosition().x,sp1->getPosition().y,
sp1->getContentSize().width,sp1->getContentSize().height);
CCRect move2Rect = CCRectMake(sp2->getPosition().x-sp2->getContentSize().width/2,sp2->getPosition().y-sp2->getContentSize().height/2,
sp2->getContentSize().width,sp2->getContentSize().height);
if ( move1Rect.intersectsRect(move2Rect) )
{
CCLog("YESSSSS!!!");
}
请问为什么检测不出来碰撞?
展开
 我来答
赵承鹏
2013-07-19 · TA获得超过2714个赞
知道小有建树答主
回答量:379
采纳率:100%
帮助的人:166万
展开全部
1、为什么 一个 要用 角为锚点 一个 要用中心为锚点

2、你这两段代码是分开的么? 后面段应该在update里

3、我不知道你跑的是什么action 你确认能撞到么? 试试加大宽高 看有没有输出yes

4、这个yes 可能在 工具的下面输出 也可能是在后台的 黑框里输出,你都看了么?

5、碰撞检测用box2d 多好~ 调用简单,判定精确
hs2987944
2013-07-20
知道答主
回答量:11
采纳率:0%
帮助的人:12.4万
展开全部
是否锚点没设置好?而且检测碰撞,就必须每一帧都做一次判断,除非你这不是一段代码,而是分开两段。。。
void run()
{
CCSprite* sp1 = CCSprite::create("banana.png");
sp1->setAnchorPoint(ccp(0, 0));
sp1->setPosition(ccp(200, 300));
addChild(sp1, 0, 1);

CCSprite* sp2 = CCSprite::create("streak-hd.png");
sp2->setPosition(ccp(250, 20));
sp2->->setAnchorPoint(ccp(0, 0));
addChild(sp2, 0, 2);
CCAction* actionTo = .....
sp1->runAction(actionTo);
schedule(schedule_selector(ScheduleTest::bomb));
}

void ScheduleTest::bomb(){
CCSprite* sp1 = (CCSprite*)this->getChildByTag(1);
CCSprite* sp2 = (CCSprite*)this->getChildByTag(2);
CCRect move1Rect = CCRectMake(sp1->getPosition().x,sp1->getPosition().y,
sp1->getContentSize().width,sp1->getContentSize().height);
CCRect move2Rect = CCRectMake(sp2->getPosition().x,sp2->getPosition().y,
sp2->getContentSize().width,sp2->getContentSize().height);
if ( move1Rect.intersectsRect(move2Rect) )
{
CCLog("YESSSSS!!!");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神消浩哥
2013-07-13 · TA获得超过685个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:101万
展开全部
你的检测写在哪里了看不出来呀。
给你篇文章参考下吧,希望对你有帮助。
http://blog.csdn.net/song_hui_xiang/article/details/8726396
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式