// 重新生成地图 void NewGame() { var size = stars[0].GetComponent <RectTransform>().sizeDelta; totalPoint = 0; UpdateText(); for (int r = 0; r < 9; r++) { for (int c = 0; c < 9; c++) { int type = Random.Range(0, stars.Length); Vector3 offset = new Vector3(c * size.y, -r * size.x, 0f); Vector3 dest = starMap.startPt.localPosition + offset; GameObject starObj = Instantiate(stars[type], dest, Quaternion.identity) as GameObject; starObj.transform.SetParent(ParentObj.transform, false); starObj.name = "star_" + r + "_" + c; Star starInstance = starObj.GetComponent <Star>(); starInstance.onClickStarEvent.AddListener(OnClickStarAction); // 监听事件处理 starInstance.Init((StarType)type, new Vector2(r, c)); starMap.SetStarToMap(r, c, starObj); } } }