• 大小: 4.73MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: C/C++
  • 标签: 横版格斗  

资源简介

此版本为 参照 泰然网 cocos2d html5 王者之剑 改编C++ 版 此版本实现了简单的游戏打斗场景,一个英雄,一个怪物,可以控制英雄来回走动并且攻击,怪物实现简单 AI 并且自动攻击,有着不同的血量槽,控制系统,可以使用触摸,键盘映射 暂时还未实现,实现一个普通攻击和两个特效攻击

资源截图

代码片段和文件信息

#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 )
{
// 区域判断
if (!this->containsTouchLocation(touch))
return false;

// 播放点击动画
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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         176  2014-01-26 14:37  Resources\names.xml
     目录           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\Gamelayer.cpp
     文件         555  2013-12-28 18:35  Classes\Gamelayer.h
     文件        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\Hudlayer.cpp
     文件        1406  2013-12-28 16:03  Classes\Hudlayer.h
     文件        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个文件信息

评论

共有 条评论

相关资源