
📖规则说明
规则说明
格子代表细胞生命,生死规则如下:
- 一个细胞周围一共有8个细胞
- 如果一个细胞周围有3个细胞,则生(死则转生)
- 一个细胞周围有2个细胞,状态不变
- 其他情况,细胞为死
1️⃣步骤一:实现网格

实现思路
- 创建网格容器cellArea
- 创建单个网格预制件cell
- 双层方格,模拟边框
- 在cellArea上,使用程序生成cell网格
- 给预制件cell添加记录和修改状态的脚本
- 给cellArea添加Touch事件,监听点击到的细胞网格
程序生成网格
- 网格容器cellArea
- 尺寸:8000 * 600
- 单个网格预制件cell
- 尺寸:10 * 10
1 |
|
细胞状态脚本Cell
单个细胞中,只有一个信息:是否存活?
所以在cell脚本中,需要实现如下功能:
- 记录cell的state
- 修改state,根据修改后的state修改cell的颜色
- 暴露出一个切换state的接口
1 |
|
网格交互

鼠标点击网格时,可以切换细胞的存活状态,
对cellArea进行鼠标点击事件监听:
- 获取鼠标事件的世界坐标
- 将世界坐标转换为cellArea下的局部坐标
- 根据局部坐标,结合cell尺寸,计算当前鼠标事件触发的cell的索引坐标
- 找到cell,切换状态
1 |
|
2️⃣步骤二:实现细胞活动模拟
繁衍速度控制
在update中累加帧间隔时间,每过0.1秒,刷新一次:
1 |
|
实现细胞繁衍死亡

实现思路:
- 记录细胞矩阵cells当前状态快照nowStateList
- 取出每一个cell,根据其八个方位的细胞判断其是否有必要改变生命状态
记录快照,判断八方结果是否有必要改变生命状态:
1 |
|
判断是否有必要改变细胞状态:
1 |
|