1.如何添加一個(gè)精靈
2.如何移動(dòng)一個(gè)精靈
3.如何相應(yīng)觸摸事件
4.如何對(duì)碰撞事件進(jìn)行處理
5.如何添加聲音
6.控制游戲的輸贏
具體可以參照官網(wǎng)http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Tutorials 本人在這里只是做個(gè)總結(jié),素材方面也是在官網(wǎng)提供
1.添加一個(gè)精靈
資源路徑: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.檢測(cè)
CC_BREAK_IF(!pSprite);
//3.設(shè)置坐標(biāo)點(diǎn)
pSprite->setPosition(ccp(pSprite->getContentSize().width/2,size.height/2));
//4.添加到當(dāng)前圖層
this->addChild(pSprite);
如何讓精靈移動(dòng)
原理:
給精靈綁定動(dòng)作
一類是瞬時(shí)動(dòng)作(CCActionInstant);
一類是延時(shí)動(dòng)作(CCActionInterval);
在精靈加入當(dāng)前圖層之后
初始化CCAction
然后將精靈用runAction方法綁定動(dòng)作
代碼:
//添加怪物精靈
void HelloWorld::addTarget(){
//首先初始化怪物精靈
CCSprite* pTarget=CCSprite::create("Target.png",CCRectMake(0,0,27,40));
CCSize winSize=CCDirector::sharedDirector()->getWinSize();
//計(jì)算可繪制的范圍
int minY=pTarget->getContentSize().height/2;
int maxY=winSize.height-minY;
//計(jì)算可隨機(jī)基數(shù)
int rangeY=maxY-minY;
//隨機(jī)出的基數(shù)*半個(gè)身位=最后坐標(biāo)點(diǎn)
int actualY=(rand()%rangeY)+minY;
pTarget->setPosition(ccp(winSize.width+pTarget->getContentSize().width/2,actualY));
this->addChild(pTarget);
//pTarget->setTag(1);
//_targets->addObject(pTarget);
//計(jì)算移動(dòng)速度 最慢4秒 移動(dòng)橫屏 最快兩秒
int minDuration=(int)2.0;
int maxDuration=(int)4.0;
int rangeDuration=maxDuration-minDuration;
int actualDuration=(rand()%rangeDuration)+minDuration;
//初始化耗時(shí)動(dòng)作
CCFiniteTimeAction* actionMove=CCMoveTo::create((float)actualDuration,ccp(0-pTarget->getContentSize().width/2,actualY));
//這是一個(gè)回調(diào)方法 主要為在精靈動(dòng)作完成后的操作
CCFiniteTimeAction* actionMoveDone=CCCallFuncN::create(this,callfuncN_selector(HelloWorld::spritMoveFinished));
//綁定動(dòng)作
pTarget->runAction(CCSequence::create(actionMove,actionMoveDone,NULL));
}
如何響應(yīng)觸摸事件
原理:
1.講當(dāng)前圖層設(shè)置為響應(yīng)圖層
2.重寫父類的監(jiān)聽方法
3.在監(jiān)聽方法里可活動(dòng)當(dāng)前點(diǎn)擊的坐標(biāo)點(diǎn)對(duì)其進(jìn)行處理
1.在頭文件中添加類的聲明
//聲明點(diǎn)擊事件方法
virtual void ccTouchesEnded(cocos2d::CCSet* touches,cocos2d::CCEvent* event);
2.實(shí)現(xiàn)方法
//點(diǎ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://chinadenli.net/article30/dgdeso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、品牌網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、營銷型網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容