前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cocos Creator 做数字游戏 | 二维矩阵节点的链式选择和取消!

Cocos Creator 做数字游戏 | 二维矩阵节点的链式选择和取消!

作者头像
一枚小工
发布2020-05-09 16:36:28
7830
发布2020-05-09 16:36:28
举报
文章被收录于专栏:Cocos Creator开发Cocos Creator开发

效果预览

操作方法

点击选中开始节点,按住拖动到相邻的节点,相邻节点添加至选择链中,沿着链往回拖,将会取消之前选择的节点,如上面效果图所示。

实现流程

1. 按照 6*6 添加单元内容,单元内的数字,1-9 随机;

2. 给随机布局的矩阵节点添加监听消息,监听 TOUCH_START、TOUCH_MOVE、TOUCH_END 事件;

3. 在 TOUCH_START 中添加选择链首节点;

4. 在 TOUCH_MOVE 中判断触摸节点是否是选择链尾节点的相邻节点;

5. 如果是链尾的相邻节点,且未被选中,添加该节点至链尾,增加连接线;

6. 如果是链尾的相邻节点,且被选中过,取消上一个节点,删去连接线;

7. 如果不是链尾的相邻节点,不做处理;

8. 在 TOUCH_END 中取消选中的所有节点;

实现算法

核心算法是判断一个节点是否与一个已知节点相邻,相邻的节点只有四种情况:左、右、上、下;

游戏中,节点的排列顺序是从屏幕左下角为原点,X 轴正向先排列,排完 6 个,再沿着 Y 轴正向排列,直到排列完 6*6 的完整格子,索引从 0-35,游戏中,就是根据索引判断是否相邻。

判断是否是左相邻节点:

判断是否是右相邻节点:

判断是否是上相邻节点:

判断是否是下相邻节点:

其中 isTarget 方法通用,主要判断当前点击位置,是否点击在对应节点上:

链节点实现

做成预制体 Cell,挂载 Cell 脚本,脚本控制单元中随机数字的生成,选中和未选中状态的切换。

游戏介绍

完整的游戏尚未做完,具体玩法是,屏幕上会随机一个数字,玩家通过选择节点链,若节点链上所有数字之和等于随机的数字,则得分,否则失败。后续更新,将会陆续分享,

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一枚小工 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档