【cocos2d-x制作别踩白块儿】第六期:游戏交互实现
这一期我们实现游戏的交互。简单的说,就是搭建触摸的框架。
在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制作别踩白块儿】第六期:游戏交互实现相关推荐
- Unity制作别踩白块儿
自己的第一个手机游戏,历时两天终于接近尾声,先上效果图(界面难看,保护眼睛,,,) 开始界面 进入游戏 游戏结束 点击开始游戏进入游戏界面,右上角设置了一个静音按钮,下面是计时器:按小房子按钮可以回到 ...
- Cocos别踩白块儿案列1
Cocos 版本3.10 1.游戏介绍: <别踩白块儿>是由 Umoni Studio (Umoni Entertainment Limited 的前身)"制作的一款休闲益智游 ...
- 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏
初学JS--利用JS制作的别踩白块儿(街机模式) 小游戏 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的"块儿"是 ...
- 傅小森的游戏制作之路-别踩白块儿
项目前言 别踩白块儿 这- 还用开发吗? 别人已经制作了呀 触屏版本多的是 是挺多的 但是 你见过按键版本的嘛? 没见过吧 这就是需要开发出来 , 进入项目需求环节 项目需求 别踩白块儿 顾名思义:不 ...
- python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源)
python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源) 见链接
- 别踩白块儿 开源免费(C++)
别踩白块儿(C++) 演示视频 调用EasyX图形库,电脑没有安装图形库的话,无法运行 EasyX下载 源码下载 //主要代码,源码请下载源码文件//游戏开始 void Begin() {MOUSEM ...
- 团队项目代码分析(Android游戏:别踩白块儿)
代码组成部分: 关键代码主要分为三大部分,如下图所示(用思维导图的形式展示): 代码调用关系 通过MainActivity调用其他类❤,具体见核心代码分析! 核心代码分析 public class P ...
- 基于Linux、QT、C++的“别踩白块儿”小游戏
基于Linux.QT.C++的"别踩白块儿"小游戏 源码链接 一.功能实现 完善的游戏界面.游戏倒计时.得分记录.历史最高分显示 二.功能描述 1.界面为4*4,一行中只有一个黑块 ...
- QT 小游戏 : 别踩白块儿~
一.实现思路 QPainter 绘制 游戏界面 PS:根据方块坐标链表绘制所有方块 支持两种操作方式 PS:鼠标事件 和 键盘事件(Q,W,E,R,T) 定时器(10ms) 刷新 方块坐标数据 根据得 ...
最新文章
- Loadrunner在post请求的cookie中插入其它多个值
- 公共关系计算机操作题,2012年计算机二级Access考前模拟题及答案(8)
- 软件设计期末考试重点内容
- Android应用的基本组件介绍
- shell脚本中向hive动态分区插入数据
- EHcache缓存框架详解
- 理解交换机通过逆向自学习算法建立地址转发表的过程_交换机与 VLAN 到底是怎么来的...
- [UE4.4.x] 虚幻4 安卓打包
- 设置简体中文_键盘不好用了?看看是不是设置有问题
- 利用iTextSharp把DataTable导出为PDF和RTF(Rich Text Format)文件
- 组合,聚合,关联,依赖的区别
- ubuntu字体丑_科学网—关于ubuntu系统的一点经验——字体崩溃 - 苗玉虎的博文
- tif转双层pdf Java_TIF文件转双层PDF时 内存不足
- 弹簧管压力表设计报告
- todos app简单编写(web)
- linux 命令杂集
- 同轴光的发光特征及其使用时的注意事项
- Apache Atlas管理Hive元数据
- 优秀程序员的18大法则-兄弟连IT教育
- Zookeeper客户端工具-ZooInspector使用