cocos2d-x中矩形的碰撞检测

来源:未知 责任编辑:责任编辑 发表时间:2013-12-06 08:43 点击:
#ifndef __HELLOWORLD_SCENE_H__ p>#define __HELLOWORLD_SCENE_H__

p> 

p>#include "cocos2d.h"

p>using namespace cocos2d;

p> 

p>class HelloWorld : public cocos2d::CCLayer

p>{

p>public:

p>    

p>    virtual bool init(); 

p>    static cocos2d::CCScene* scene();

p>    CREATE_FUNC(HelloWorld);

p>    

p>    virtual void onEnter();

p>    virtual void onExit();

p>    virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);

p>    virtual void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);

p>    virtual void ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent);

p> 

p>    bool isRectCollision(CCRect rect1,CCRect rect2);

p>};

p> 

p>#endif // __HELLOWORLD_SCENE_H__

p> 

p> 

p> 

p>#include "HelloWorldScene.h"

p>#include "SimpleAudioEngine.h"

p>using namespace CocosDenshion;

p> 

p>CCScene* HelloWorld::scene()

p>{

p>    CCScene *scene = CCScene::create();

p>    HelloWorld *layer = HelloWorld::create();

p>    scene->addChild(layer);

p>    return scene;

p>}

p> 

p>bool HelloWorld::init()

p>{

p>   

p>    if ( !CCLayer::init() )

p>    {

p>        return false;

p>    }

p>    CCLayerColor*colorLayer = CCLayerColor::create(ccc4(0, 0, 255, 255), 320, 480);

p>    addChild(colorLayer);

p>    

p>    CCLabelTTF* pLabel = CCLabelTTF::create("~还米有碰撞~", "Thonburi", 24);

p>    pLabel->setColor(ccc3(255, 0, 0));

p>    CCSize size = CCDirector::sharedDirector()->getWinSize();

p>    pLabel->setPosition( ccp(size.width*0.5, size.height - 50) );

p>    this->addChild(pLabel, 1,900);

p>    

p>    CCSprite*sp1 =CCSprite::create("rect1.png");

p>    sp1->setPosition(ccp(100,230));

p>    addChild(sp1,0,921);

p>    

p>    CCSprite*sp2 =CCSprite::create("rect2.png");

p>    sp2->setPosition(ccp(240,140));

p>    addChild(sp2,0,922);

p>    return true;

p>}

p> 

p>bool HelloWorld::isRectCollision(CCRect rect1,CCRect rect2){

p>    float x1 = rect1.origin.x;

p>    float y1 = rect1.origin.y;

p>    float w1 = rect1.size.width;

p>    float h1 = rect1.size.height;

p>    float x2 = rect2.origin.x;

p>    float y2 = rect2.origin.y;

p>    float w2 = rect2.size.width;

p>    float h2 = rect2.size.height;

p>    if(x1+w1*0.5

p>        return false;
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x学习(一):HelloWorld
  • cocos2dx在xcode下开发,编译到android上(2)
  • cocos2d 设置屏幕默认方向
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • cocos2d-x学习笔记(22)--地图的使用2(TMX) --Z-Order、AnchorPoi
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1