cocos2d-x小游戲-創(chuàng)新互聯(lián)

本節(jié)主要是通過一個小游戲來說明一下幾個問題cocos2d-x小游戲

1.如何添加一個精靈

10年積累的成都網(wǎng)站建設、成都做網(wǎng)站經驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設流程,更有寧明免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

2.如何移動一個精靈

3.如何相應觸摸事件

4.如何對碰撞事件進行處理

5.如何添加聲音

6.控制游戲的輸贏

具體可以參照官網(wǎng)http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Tutorials 本人在這里只是做個總結,素材方面也是在官網(wǎng)提供

1.添加一個精靈

資源路徑:http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Chapter_2_-_How_to_Add_a_sprite
四步驟:
//1.初始化
CCSprite::create("Play.png",CCRectMake(0,0,27,40));
//2.檢測
CC_BREAK_IF(!pSprite);
//3.設置坐標點
pSprite->setPosition(ccp(pSprite->getContentSize().width/2,size.height/2));
//4.添加到當前圖層
this->addChild(pSprite);

如何讓精靈移動

原理:
給精靈綁定動作
一類是瞬時動作(CCActionInstant);
一類是延時動作(CCActionInterval);
在精靈加入當前圖層之后
初始化CCAction
然后將精靈用runAction方法綁定動作

代碼:
//添加怪物精靈
void HelloWorld::addTarget(){

   //首先初始化怪物精靈
   CCSprite* pTarget=CCSprite::create("Target.png",CCRectMake(0,0,27,40));
   CCSize winSize=CCDirector::sharedDirector()->getWinSize();

   //計算可繪制的范圍
   int minY=pTarget->getContentSize().height/2;
   int maxY=winSize.height-minY;
   //計算可隨機基數(shù)
   int rangeY=maxY-minY;
   //隨機出的基數(shù)*半個身位=最后坐標點
   int actualY=(rand()%rangeY)+minY;

   pTarget->setPosition(ccp(winSize.width+pTarget->getContentSize().width/2,actualY));

   this->addChild(pTarget);
   //pTarget->setTag(1);
   //_targets->addObject(pTarget);

   //計算移動速度 最慢4秒 移動橫屏 最快兩秒
   int minDuration=(int)2.0;
   int maxDuration=(int)4.0;
   int rangeDuration=maxDuration-minDuration;
   int actualDuration=(rand()%rangeDuration)+minDuration;

   //初始化耗時動作
   CCFiniteTimeAction* actionMove=CCMoveTo::create((float)actualDuration,ccp(0-pTarget->getContentSize().width/2,actualY));
   //這是一個回調方法 主要為在精靈動作完成后的操作
   CCFiniteTimeAction* actionMoveDone=CCCallFuncN::create(this,callfuncN_selector(HelloWorld::spritMoveFinished));

   //綁定動作
   pTarget->runAction(CCSequence::create(actionMove,actionMoveDone,NULL));

}

如何響應觸摸事件

原理:
1.講當前圖層設置為響應圖層
2.重寫父類的監(jiān)聽方法
3.在監(jiān)聽方法里可活動當前點擊的坐標點對其進行處理

1.在頭文件中添加類的聲明
  //聲明點擊事件方法
   virtual void ccTouchesEnded(cocos2d::CCSet* touches,cocos2d::CCEvent* event);
2.實現(xiàn)方法
  //點擊事件處理
  void HelloWorld::ccTouchesEnded(CCSet* touches,CCEvent* event){}
  

添加聲音

聲音素材
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Chapter_6_-_How_to_Play_Music_and_Sound_Effect

//添加子彈聲音
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("pew-pew-lei.wav");

網(wǎng)頁名稱:cocos2d-x小游戲-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://bm7419.com/article30/dgdeso.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管品牌網(wǎng)站設計、搜索引擎優(yōu)化、營銷型網(wǎng)站建設、靜態(tài)網(wǎng)站、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設