/// <summary> /// 生成地图 /// </summary> protected override void Generate(float _nowX) { float startX = -(XGridNum - 0.4f) / 2 - _nowX; int endIndex = (int)((_nowX + XGridNum) / 0.4f + 2); for (int j = NowIndex; j < endIndex && j < BrickArr.GetLength(1); j++) //生成砖块 { for (int i = 0; i < BrickArr.GetLength(0); i++) { int goldType = BrickArr[i, j]; if (goldType != 0) //不是0创建金币 { float y = 4.8f - i * 0.4f; //计算过程 5 - 0.2f Vector2 pos = new Vector2(startX + 0.4f * j, y); Gold gold = Instantiate(GoldPrefab, pos, Quaternion.identity, transform); //生成一个金币 gold.SetType(GoldImageList[goldType - 1], AddScoreList[goldType - 1]); //设置金币类型 } } } NowIndex = endIndex; }
protected override void Generate(float _nowX) { float startX = -(XGridNum - 0.4f) / 2 - _nowX; int endIndex = (int)((_nowX + XGridNum) / 0.4f + 2); for (int j = NowIndex; j < endIndex && j < BrickArr.GetLength(1); j++) { for (int i = 0; i < BrickArr.GetLength(0); i++) { int brickIndex = BrickArr[i, j]; if (brickIndex != 0) //不是0创建砖块 { float y = -3.7f - i * 0.4f; //计算过程 -2.2f - 1.5f Vector2 pos = new Vector2(startX + 0.4f * j, y); if (brickIndex == 1) { pos += new Vector2(-0.127f, 0); } else if (brickIndex == 5) { pos += new Vector2(0.08f, 0); } Instantiate(BrickList[brickIndex - 1], pos, Quaternion.identity, transform); //生成一个砖块 break; } } } NowIndex = endIndex; }