[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!

人工智能实验室
相关文章相关文章
  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

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

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...