[cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--地图(二),mfccocos2dx3

  次阅读 作者:智能小宝 来源:互联网 2015-09-28 11:31 我要评论(0)

[cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--地图(二),mfccocos2dx3.0

接上文,添加地图,在地图层直接添加即可,我是将AnchorPoint设置在(0,0),方便计算坐标

mapSprite = Sprite::createWithSpriteFrameName(String::createWithFormat("Stage_%d.png",level+1)->getCString());

mapSprite->setAnchorPoint(Point(0,0));

mapSprite->setPosition(Point(0,0));

addChild(mapSprite);

本章节主要介绍两个固定技能和商店技能的实现

首先是两个固定技能,以陨石为例

首先添加按键图片精灵

stoneSprite = Sprite::createWithSpriteFrameName("power_portrait_fireball_0001.png");

stoneSprite->setAnchorPoint(Point(0,0));

stoneSprite->setPosition(Point(10,-20));

stoneSprite->setName("inactive");

//判断倒计时是否完毕

completeStone = false;

addChild(stoneSprite,1);

然后是倒计时遮盖层,采用的是ProgressTimer实现,放在按键图片精灵上面

stoneTimer = ProgressTimer::create(Sprite::createWithSpriteFrameName("power_loading.png"));

stoneTimer->setAnchorPoint(Point(0,0));

//顺时针转动

stoneTimer->setReverseDirection(true);

stoneTimer->setPosition(Point(10,-20));

stoneTimer->setPercentage(100);//显示原形的百分比

this->addChild(stoneTimer,1);

添加定时器,更新ProgressTimer状态

void PlayerStateMenu::updateStoneProgress(float Dt){

stoneTimer->setPercentage(stoneTimer->getPercentage() - Dt*2);//更新进度2

if (stoneTimer->getPercentage()==0) {

this->unschedule(schedule_selector(PlayerStateMenu::updateStoneProgress));//取消定时器

completeStone = true;

}

return;

}

在你想要开始的时候schedule它比如第一波敌人出现之后

添加触摸响应

auto stoneListener = EventListenerTouchOneByOne::create();

stoneListener->onTouchBegan = [&](Touch* touch, Event* event){

auto target = static_cast<Sprite*>(event->getCurrentTarget());

Point locationInNode = target->convertTouchToNodeSpace(touch);

Size size = target->getContentSize();

Rect rect = Rect(0, 0, size.width, size.height);

//若第一次点击点击

if(rect.containsPoint(locationInNode)){

//若冷却结束

if(completeStone == true){

//移出其他技能触摸监听

mTouchLayer->removeAllListener();

if(stoneSprite->getName() == "inactive"){

//设置为点击状态

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...