cocos2d-x 矩形碰撞检测
来源:互联网 发布:python输出九九乘法表 编辑:程序博客网 时间:2024/04/29 16:55
bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite* sp1 = CCSprite::create("Icon.png"); sp1->setPosition(ccp(200, 160)); addChild(sp1, 0, 1); CCSprite* sp2 = CCSprite::create("Icon.png"); sp2->setPosition(ccp(300, 160)); addChild(sp2, 0, 2); CCLabelTTF* label = CCLabelTTF::create("没有发生碰撞", "Thonburi",24); label->setPosition(ccp(240, 280)); addChild(label, 1, 3); return true;}bool HelloWorld::ccTouchBegan(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){ CCSprite* sp1 = (CCSprite*)getChildByTag(1); sp1->setPosition(touch->getLocation()); return true;}void HelloWorld::ccTouchMoved(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){ CCSprite* sp1 = (CCSprite*) getChildByTag(1); sp1->setPosition(touch->getLocation()); CCSprite* sp2 = (CCSprite*)getChildByTag(2); CCLabelTTF* label = (CCLabelTTF*) getChildByTag(3); //碰撞检测,矩形碰撞 if((sp1->boundingBox()).intersectsRect(sp2->boundingBox())) { label->setString("碰撞啦"); }else { label->setString("还是没有碰撞"); }}void HelloWorld::ccTouchEnded(cocos2d::CCTouch *touch, cocos2d::CCEvent *event){ }void HelloWorld::onEnter(){ CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true); CCLayer::onEnter();}void HelloWorld::onExit(){ CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this); CCLayer::onExit();}