資源簡(jiǎn)介
此版本為 參照 泰然網(wǎng) cocos2d html5 王者之劍 改編C++ 版
此版本實(shí)現(xiàn)了簡(jiǎn)單的游戲打斗場(chǎng)景,一個(gè)英雄,一個(gè)怪物,可以控制英雄來(lái)回走動(dòng)并且攻擊,怪物實(shí)現(xiàn)簡(jiǎn)單 AI 并且自動(dòng)攻擊,有著不同的血量槽,控制系統(tǒng),可以使用觸摸,鍵盤(pán)映射 暫時(shí)還未實(shí)現(xiàn),實(shí)現(xiàn)一個(gè)普通攻擊和兩個(gè)特效攻擊

代碼片段和文件信息
#include?“ActionButton.h“
#include?“Hudlayer.h“
CActionButton::CActionButton()
{
m_pSprite?=?NULL;
m_pHudlayer?=?NULL;
}
CActionButton::~CActionButton()
{
}
bool?CActionButton::init(const?char?*szImage)
{
bool?bRet?=?false;
do?
{
CC_BREAK_IF(!CCNode::init());
m_pSprite?=?CCSprite::create(szImage);
addChild(m_pSprite);
bRet?=?true;
}?while?(0);
return?bRet;
}
void?CActionButton::click()
{
if?(IsCanClick()?&&?m_pHudlayer)
{
m_pHudlayer->attackButtonclick(GetAttackType());
beganAnimation();
}
}
void?CActionButton::clickUp()
{
endedAnimation();
}
cocos2d::CCRect?CActionButton::GetRect()
{
CCSize?size?=?m_pSprite->getContentSize();
return?CCRect(-size.width/2?-size.height/2?size.width?size.height);
}
void?CActionButton::onEnter()
{
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this?0?false);
CCNode::onEnter();
}
void?CActionButton::onExit()
{
CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
CCNode::onExit();
}
bool?CActionButton::containsTouchLocation(?CCTouch*?touch?)
{
return?GetRect().containsPoint(convertTouchToNodeSpaceAR(touch));
}
bool?CActionButton::ccTouchBegan(?CCTouch*?touch?CCEvent*?event?)
{
//?區(qū)域判斷
if?(!this->containsTouchLocation(touch))
return?false;
//?播放點(diǎn)擊動(dòng)畫(huà)
click();
return?true;
}
void?CActionButton::ccTouchMoved(?CCTouch*?touch?CCEvent*?event?)
{
}
void?CActionButton::ccTouchEnded(?CCTouch*?touch?CCEvent*?event?)
{
endedAnimation();
}
CAttackButton::CAttackButton()
{
m_fDefaultScale?=?0.35;
m_fMaxScale?=?0.5;
m_pNormal?=?CCSprite::create(“AttackO.png“);
m_pNormal->retain();
CCFiniteTimeAction?*pScale?=?CCScaleTo::create(0.1?m_fDefaultScale);
CCFiniteTimeAction?*pFadeIn?=?CCFadeIn::create(0.1);
m_pInAction?=?CCSpawn::create(pScale?pFadeIn?NULL);
m_pInAction->retain();
pScale?=?CCScaleTo::create(0.2f?m_fMaxScale);
CCFiniteTimeAction?*pFade?=?CCFadeOut::create(0.2);
m_pOutAction?=?CCSpawn::create(pScale?pFade?NULL);
m_pOutAction->retain();
m_fClickTime?=?0.0f;
}
CAttackButton::~CAttackButton()
{
CC_SAFE_RELEASE(m_pNormal);
CC_SAFE_RELEASE(m_pInAction);
CC_SAFE_RELEASE(m_pOutAction);
}
bool?CAttackButton::init(?const?char?*szImage?)
{
bool?bRet?=?CActionButton::init(szImage);
if?(m_pNormal)
m_pNormal->setScale(m_fMaxScale);
return?bRet;
}
CAttackButton*?CAttackButton::create(?const?char?*szImage?)
{
CAttackButton?*pAttackButton?=?new?CAttackButton();
if?(pAttackButton?&&?pAttackButton->init(szImage))
{
pAttackButton->autorelease();
return?pAttackButton;
}
else
{
delete?pAttackButton;
return?NULL;
}
}
void?CAttackButton::beganAnimation()
{
removeChild(m_pNormal);
addChild(m_pNormal);
m_pNormal->runAction((CCAction*)m_pInAction->copy());
cc_timeval?timeVal;
CCTime::gettimeofdayCocos2d(&timeVal?0);
m_fClickTime?=?timeVal.tv_sec?*?1000?+?timeVal.tv_usec?/?1000;
}
void?CAttackButton::endedAnimation()
{
m_pNormal->stopAllActions();
m_pNormal->runAction((CCAction*)m_p
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????????176??2014-01-26?14:37??Resources\names.xm
?????目錄???????????0??2013-12-28?20:09??Classes\
?????文件????????4549??2013-12-28?19:45??Classes\ActionButton.cpp
?????文件????????2029??2013-12-28?18:40??Classes\ActionButton.h
?????文件????????1318??2013-12-26?22:07??Classes\AppDelegate.cpp
?????文件?????????960??2013-12-26?22:07??Classes\AppDelegate.h
?????文件???????10254??2013-12-28?19:51??Classes\Characters.cpp
?????文件????????2588??2013-12-28?19:37??Classes\Characters.h
?????文件????????1410??2013-12-28?18:37??Classes\Gamela
?????文件?????????555??2013-12-28?18:35??Classes\Gamela
?????文件????????1338??2013-12-28?14:43??Classes\HelloWorldScene.cpp
?????文件?????????657??2013-12-26?22:07??Classes\HelloWorldScene.h
?????文件????????5286??2013-12-28?19:59??Classes\Hudla
?????文件????????1406??2013-12-28?16:03??Classes\Hudla
?????文件????????2748??2013-12-28?12:48??Classes\JoyPad.cpp
?????文件????????1191??2013-12-28?12:45??Classes\JoyPad.h
?????目錄???????????0??2013-12-28?20:09??Resources\
?????文件???????23144??2013-09-25?20:12??Resources\Attack.png
?????文件???????15428??2013-09-25?20:12??Resources\AttackA.png
?????文件???????14164??2013-09-25?20:12??Resources\AttackB.png
?????文件????????5554??2013-09-25?20:12??Resources\AttackFreeze.png
?????文件???????84571??2013-09-25?20:12??Resources\AttackO.png
?????文件??????818824??2013-09-25?20:12??Resources\BackGround.png
?????文件????????6311??2013-09-25?20:12??Resources\CloseNormal.png
?????文件????????5499??2013-09-25?20:12??Resources\CloseSelected.png
?????文件??????324064??2013-09-25?20:12??Resources\HelloWorld.png
?????文件???????30447??2013-09-25?20:12??Resources\Hero1.png
?????文件???????30633??2013-09-25?20:12??Resources\Hero2.png
?????文件???????30977??2013-09-25?20:12??Resources\Hero3.png
?????文件???????39443??2013-09-25?20:12??Resources\HeroAttack1.png
?????文件???????42261??2013-09-25?20:12??Resources\HeroAttack2.png
............此處省略140個(gè)文件信息
評(píng)論
共有 條評(píng)論