这一期我们实现游戏的交互。简单的说,就是搭建触摸的框架。

在HelloWorldScene.cpp中添加触摸事件

 auto listener = EventListenerTouchOneByOne::create();listener->onTouchBegan = [this](Touch* t, Event* e){log("onTouch");auto bs = Block::getBlocks();Block *b;for(auto it = bs->begin(); it != bs->end(); it++){b = *it;if(b->getLineIndex()==1&&b->getBoundingBox().containsPoint(t->getLocation())){if(b->getColor()==Color3B::BLACK){b->setColor(Color3B::GRAY);this->moveDown();}else{MessageBox("GameOver","失败");}}}return false;};Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener, this);

利用触摸事件onTouchBegan,然后得到所有的Blocks,一个个遍历。先判断lineIndex是不是1而且触摸式在这一行,紧接着如果方块是黑色的话,然后将黑色变为灰色,并使所有方块下移moveDown;如果方块不是黑色,然后出现一个失败的对话框。

moveDown函数,我们先用一个空函数实现,后续会添加具体的逻辑。

//方块下移
void HelloWorld::moveDown()
{}

在Block.cpp中添加getBlocks函数

Vector<Block*> * Block::getBlocks()
{return Block::blocks;
}

运行项目,效果如下:

点击非第一行区域,会输出

点击第一行的白色块,会出现失败对话框

点击第一行黑色块,黑色块会变成灰色

效果还不错吧?哈哈哈

【cocos2d-x制作别踩白块儿】第六期:游戏交互实现相关推荐

  1. Unity制作别踩白块儿

    自己的第一个手机游戏,历时两天终于接近尾声,先上效果图(界面难看,保护眼睛,,,) 开始界面 进入游戏 游戏结束 点击开始游戏进入游戏界面,右上角设置了一个静音按钮,下面是计时器:按小房子按钮可以回到 ...

  2. Cocos别踩白块儿案列1

    Cocos  版本3.10 1.游戏介绍: <别踩白块儿>是由 Umoni Studio (Umoni Entertainment Limited 的前身)"制作的一款休闲益智游 ...

  3. 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏

    初学JS--利用JS制作的别踩白块儿(街机模式) 小游戏 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的"块儿"是 ...

  4. 傅小森的游戏制作之路-别踩白块儿

    项目前言 别踩白块儿 这- 还用开发吗? 别人已经制作了呀 触屏版本多的是 是挺多的 但是 你见过按键版本的嘛? 没见过吧 这就是需要开发出来 , 进入项目需求环节 项目需求 别踩白块儿 顾名思义:不 ...

  5. python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源)

    python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源) 见链接

  6. 别踩白块儿 开源免费(C++)

    别踩白块儿(C++) 演示视频 调用EasyX图形库,电脑没有安装图形库的话,无法运行 EasyX下载 源码下载 //主要代码,源码请下载源码文件//游戏开始 void Begin() {MOUSEM ...

  7. 团队项目代码分析(Android游戏:别踩白块儿)

    代码组成部分: 关键代码主要分为三大部分,如下图所示(用思维导图的形式展示): 代码调用关系 通过MainActivity调用其他类❤,具体见核心代码分析! 核心代码分析 public class P ...

  8. 基于Linux、QT、C++的“别踩白块儿”小游戏

    基于Linux.QT.C++的"别踩白块儿"小游戏 源码链接 一.功能实现 完善的游戏界面.游戏倒计时.得分记录.历史最高分显示 二.功能描述 1.界面为4*4,一行中只有一个黑块 ...

  9. QT 小游戏 : 别踩白块儿~

    一.实现思路 QPainter 绘制 游戏界面 PS:根据方块坐标链表绘制所有方块 支持两种操作方式 PS:鼠标事件 和 键盘事件(Q,W,E,R,T) 定时器(10ms) 刷新 方块坐标数据 根据得 ...

最新文章

  1. Loadrunner在post请求的cookie中插入其它多个值
  2. 公共关系计算机操作题,2012年计算机二级Access考前模拟题及答案(8)
  3. 软件设计期末考试重点内容
  4. Android应用的基本组件介绍
  5. shell脚本中向hive动态分区插入数据
  6. EHcache缓存框架详解
  7. 理解交换机通过逆向自学习算法建立地址转发表的过程_交换机与 VLAN 到底是怎么来的...
  8. [UE4.4.x] 虚幻4 安卓打包
  9. 设置简体中文_键盘不好用了?看看是不是设置有问题
  10. 利用iTextSharp把DataTable导出为PDF和RTF(Rich Text Format)文件
  11. 组合,聚合,关联,依赖的区别
  12. ubuntu字体丑_科学网—关于ubuntu系统的一点经验——字体崩溃 - 苗玉虎的博文
  13. tif转双层pdf Java_TIF文件转双层PDF时 内存不足
  14. 弹簧管压力表设计报告
  15. todos app简单编写(web)
  16. linux 命令杂集
  17. 同轴光的发光特征及其使用时的注意事项
  18. Apache Atlas管理Hive元数据
  19. 优秀程序员的18大法则-兄弟连IT教育
  20. Zookeeper客户端工具-ZooInspector使用

热门文章

  1. 基于Hadoop的企业人力资源管理
  2. 我大抵是病了,横竖都睡不着。
  3. 张正友标定法几个坐标系的意思
  4. POV-RAY基础教程 - POV-Ray坐标系(7)
  5. c莫比乌斯函数_数论——容斥原理、莫比乌斯函数
  6. 为大数据定个小目标:从改变惯例开始
  7. 立方和(使用Python求解)
  8. DotAsterisk(点星PBX)IPPBX V4.5在Hyper-V虚拟机中的安装
  9. SpringCloud Gateway 通过redis实现限流
  10. imac 27寸 安装 win 7 黑屏问题,完美解决办法!