星空网 > 软件开发 > 操作系统

分享一个《打地鼠》的小游戏,cocos2dx版本

先上效果图:

  分享一个《打地鼠》的小游戏,cocos2dx版本images/loading.gif' data-original="data:image/png;base64,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**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

  分享一个《打地鼠》的小游戏,cocos2dx版本 

主要的类:

  

#include "Hole.h"#include <stdlib.h>#include "ccMacros.h"Hole::Hole(void){  this->image = NULL;  this->animation = NULL;  this->hit = NULL;  this->state = 0;}Hole::~Hole(void){}void Hole::onEnter(){  //监听触摸事件  CCDirector* pDirector = CCDirector::sharedDirector();  pDirector->getTouchDispatcher()->addTargetedDelegate(this, -128, false);  CCNode::onEnter();}void Hole::onExit(){  CCDirector* pDirector = CCDirector::sharedDirector();  pDirector->getTouchDispatcher()->removeDelegate(this);  CCNode::onExit();}CCRect Hole::rect(){  CCSize size = this->image->getContentSize();  return CCRectMake(-size.width / 2, -size.height / 2, size.width, size.height);}bool Hole::init(){  //初始化图片  CCSprite::init();  this->image = CCSprite::create("emptyhole.JPG");  CCSize size = this->image->getContentSize();    this->setContentSize(size);  this->image->setPosition(CCSize(size.width/2,size.height/2));  this->addChild(this->image);    return true;}void Hole::update(float tick){  if( rand()%100 > 60)  {  //地鼠随机出洞,    this->out();    }}void Hole::out(){  this->animation = CCAnimation::create();  this->animation->addSpriteFrameWithFileName("show1.JPG");  this->animation->addSpriteFrameWithFileName("show2.JPG");  this->animation->addSpriteFrameWithFileName("show3.JPG");  this->animation->addSpriteFrameWithFileName("show4.JPG");  this->animation->addSpriteFrameWithFileName("show5.JPG");  this->animation->addSpriteFrameWithFileName("show6.JPG");  this->animation->addSpriteFrameWithFileName("show5.JPG");  this->animation->addSpriteFrameWithFileName("show4.JPG");  this->animation->addSpriteFrameWithFileName("show3.JPG");  this->animation->addSpriteFrameWithFileName("show2.JPG");  this->animation->addSpriteFrameWithFileName("show1.JPG");  this->animation->setDelayPerUnit(0.1f);  this->animation->setRestoreOriginalFrame(true);  //CCAction* action = CCRepeat::create(CCAnimate::create(animation),1);  //设置 地鼠的出洞动画,和动画完成之后的回调函数  CCFiniteTimeAction * action = CCSequence::create(CCAnimate::create(animation),CCCallFuncND::create(this,callfuncND_selector(Hole::call_back),NULL),NULL);   this->image->runAction(action);  this->state = 1;  }void Hole::call_back(CCNode* sender,void* ref){  this->state = 0;}bool Hole::isInSprite(CCTouch* touch){  CCPoint touchPoint = touch->getLocation();  CCPoint reallyPoint = this->convertToNodeSpace(touchPoint);  CCRect rect = this->boundingBox();    if(rect.containsPoint(touchPoint))  {    return true;  }  return false;}bool Hole::ccTouchBegan(CCTouch* touch, CCEvent* event){  if(this->isInSprite(touch) && this->state == 1)  {    //this->image->stopAllActions();    CCSprite* sp = CCSprite::create("hit.JPG");    CCTexture2D* hit = sp->getTexture();    this->image->setTexture(hit);    this->state = 0;    return true;  }  return false;}void Hole::ccTouchMoved(CCTouch* touch, CCEvent* event){  }void Hole::ccTouchEnded(CCTouch* touch, CCEvent* event){  this->image->stopAllActions();  CCSprite* sp = CCSprite::create("emptyhole.JPG");  CCTexture2D* hit = sp->getTexture();  this->image->setTexture(hit);}

    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {  //初始化九宫格的精灵
            Hole* hole = new Hole();
            hole->init();
            hole->setPosition(CCSize(i*hole->getContentSize().width +  hole->getContentSize().width/2
                , j*hole->getContentSize().height + hole->getContentSize().height/2));
            this->vect.push_back(hole);
            this->addChild(hole);
        }
    }
  //设置回调函数
    this->schedule(schedule_selector(HelloWorld::update),3.0);

    return true;
}


void HelloWorld::update(float tick)
{
    for(vector<Hole*>::iterator iter = this->vect.begin();iter != this->vect.end();iter++)
    {  //定时触发每个精灵的触发函数
        (*iter)->update(tick);
    }
}

 




原标题:分享一个《打地鼠》的小游戏,cocos2dx版本

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流