• cocos2dx 矩形碰撞检测


    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();  
    }  
  • 相关阅读:
    GuavaCache简介(一)
    四层、七层负载均衡的区别
    腾讯云服务器 Centos6.5 安装 nginx1.12.0
    tomcat8性能优化
    JAVA 正则表达式的三种模式: 贪婪, 勉强和占有的讨论
    java中值传递和引用传递
    架构师书籍
    大型网站架构系列:20本技术书籍推荐
    RabbitMQ
    支付宝付款流程
  • 原文地址:https://www.cnblogs.com/jiackyan/p/3042578.html
Copyright © 2020-2023  润新知