/// <summary> /// 根据坐标创建精灵格子 /// </summary> /// <param name="r">x坐标</param> /// <param name="c">y坐标</param> private void CreateSprite(int r, int c) { GameObject go = new GameObject(string.Format("{0},{1}", r, c)); go.transform.SetParent(transform, false); Image unused = go.AddComponent <Image>(); NumberSprite action = go.AddComponent <NumberSprite>(); numberSpriteArray[r, c] = action; action.SetImage(0); }
private void CreateSprite(int r, int c) { //Instantiate(); GameObject go = new GameObject(r.ToString() + "," + c.ToString()); go.AddComponent <Image>(); NumberSprite action = go.AddComponent <NumberSprite>(); //Awake立即执行 Start下一帧执行 //将引用存储到二维数组中 spriteActionArray[r, c] = action; action.SetImage(0); //创建的游戏对象,scale默认为1 go.transform.SetParent(this.transform, false); }
//创建一个方格Sprite private void CreateSprite(int r, int c) { //Instantiate(); GameObject go = new GameObject(r.ToString() + c.ToString()); //设置图片 go.AddComponent <Image>(); NumberSprite action = go.AddComponent <NumberSprite>(); //将引用存储到二维数组里spriteActionArray spriteActionArray[r, c] = action; action.SetImage(0); //创建游戏对象,Scale默认为1,设置为false表示相对父物体的坐标 go.transform.SetParent(this.transform, false); }
// 创建一个 Sprite private void CreateSprite(int r, int c) { // UI 创建三步骤: // 1. 创建游戏对象,并赋予相应的名字 GameObject go = new GameObject(r.ToString() + c.ToString()); // 2. 添加 Image 组件 go.AddComponent <Image>(); // 在 4 * 4 的 GameObject 上添加 NumberSprite 脚本组件:用于 Sprite 的行为 // Awake 立即执行(创建之后立即执行),Start 下一帧执行, // 因为在当前脚本中的 Start 会调用当前函数,并且在下一行的 action.SetImage(0); 会访问 NumberSprite 中的 image 并对其进行修改, // 所以在 NumberSprite.cs 中 image = GetComponent<Image>(); 应该写在 Awake 中 而不是 Start 中。 NumberSprite action = go.AddComponent <NumberSprite>(); // 将引用存储到2维精灵行为类数组(4*4)中, // 存储创建的 NumberSprite 脚本类 Component 对象的引用,在每个对象创建后立即存入 spriteActionArray[r, c] = action; // 设置初始图片,没有数字的图片 action.SetImage(0); // 3. 设置当前 GameObject:GameController 为创建对象的父节点 // 创建的游戏对象时 scale 默认为 1,false 表示不使用世界坐标,1 表示相对于父节点 go.transform.SetParent(this.transform, false); }