欢迎光临散文网 会员登陆 & 注册

Unity(2048)03-Game场景控制 创建并保存格子

2023-04-05 20:39 作者:你的糖果罐子吖  | 我要投稿
  • GamePanel功能实现 定义变量和方法


定义组件
把格子和里面的数字保存为预制体
定义按钮方法和初始化
  • GamePanel功能实现 InitGrid()

创建字典保存格子大小的设置
初始化

int gridNum = PlayerPrefs.GetInt(Const.GameModel, 4);

使用gridNum接收PlayerPrefs保存的变量 读取保存在 PlayerPrefs 中名为 Const.GameModel 的整型数据,并将其值赋给 gridNum 变量。如果该键不存在,则将返回默认值 4 并赋值给 gridNum 变量。

GridLayoutGroup gridLayoutGroup = gridParent.GetComponent<GridLayoutGroup>();

使用GetComponent获取Grid Layout Group组件变量

定义行列row和col 使用for循环创建格子
  • GamePanel功能实现 CreatGrid()

提交预制体
添加预制体
Instantiate实例化


使用 GameObject.Instantiate(gridPrefab, gridParent) 方法创建了一个新的游戏对象实例,并将其设置为 gridPrefab 预制件的一个实例。同时,将该实例的父级 Transform 设置为 gridParent

在Awake中初始化格子

通过按钮事件传递值
选取组件

实现三种模式的格子生成

两个预制体添加相应的控制脚本
初始化和储存格子
  1. 在循环的每个步骤中,先检查 grids[i] 是否为 null。如果 grids[i]null,则表示当前位置的子数组尚未创建。此时,使用 new MyGrid[gridNum] 创建一个新的 MyGrid 对象数组,并将其赋值给 grids[i],即在 grids 数组中动态创建了一个新的子数组。

  2. 在每个循环位置上,调用 CreateGrid() 方法创建一个新的 MyGrid 对象,并将其赋值给当前位置的 grids[i][j] 数组元素。


Unity(2048)03-Game场景控制 创建并保存格子的评论 (共 条)

分享到微博请遵守国家法律