void SetJumpScreen(List <string> dibanNameList, int landNums, List <string> dyjList, bool isMoveDB, List <string> moveDibanList, List <string> diciList, int type = 1) { Vector2 qidian = Vector2.zero; Vector2 zhongdian = Vector2.zero; Vector2 lianjiedian = Vector2.zero; float __x = 0; float __y = 0; float _distanceX = 0; float _distanceY = 0; bool isMFloor = false; float lastMFloorW = 0; for (var i = 0; i < landNums; i++) { string _name = "";//dibanNameList[GlobalTools.GetRandomNum(dibanNameList.Count)]; if (i != landNums - 1) { if (GlobalTools.GetRandomNum() < 100) { //普通地板 _name = dibanNameList[GlobalTools.GetRandomNum(dibanNameList.Count)]; } else { //使用 mfloor _name = moveDibanList[GlobalTools.GetRandomNum(moveDibanList.Count)]; isMFloor = true; } } else { //最后一个floor 不能是 mfloor _name = dibanNameList[GlobalTools.GetRandomNum(dibanNameList.Count)]; } GameObject lu = GlobalTools.GetGameObjectByName(_name); lu.transform.parent = GlobalTools.FindObjByName("maps").transform; lu.transform.position = Vector2.zero; _distanceX = 5f + GlobalTools.GetRandomDistanceNums(10f); //连接点 if (GlobalTools.tempRecordMapObj.tag == "men") { lianjiedian = GlobalTools.tempRecordMapObj.transform.Find("ljd").position; } else { print("==================================================> " + GlobalTools.tempRecordMapObj.transform.position); lianjiedian = GlobalTools.GetXMapLJDian(GlobalTools.tempRecordMapObj); print("=================================================lianjiedian=> " + lianjiedian); } //大模块起点 if (i == 0) { qidian = lianjiedian; } float _x = lianjiedian.x + _distanceX; if (lastMFloorW != 0) { _x -= lastMFloorW * 0.5f; } if (isMFloor) { isMFloor = false; lastMFloorW = GlobalTools.GetHasPointMapObjW(lu); _x += lastMFloorW * 0.5f; } float _y = qidian.y; if (type == 1) { //平地 } else if (type == 2) { //小波动 if (GlobalTools.GetRandomNum() > 50) { _y = qidian.y + GlobalTools.GetRandomDistanceNums(2); } else { _y = qidian.y - GlobalTools.GetRandomDistanceNums(2); } } else if (type == 3) { //上 _y = lianjiedian.y + 2 + GlobalTools.GetRandomDistanceNums(5); } else if (type == 4) { //下 _y = lianjiedian.y - 2 - GlobalTools.GetRandomDistanceNums(5); } lu.transform.position = new Vector2(_x, _y); print("lu------------------------------------------------------------> qidian " + qidian + " lu " + lu.transform.position); //大模块终点 Vector2 _rd = lu.transform.Find("rd").transform.position; zhongdian = new Vector2(_rd.x + _distanceX, _rd.y); GlobalTools.tempRecordMapObj = lu; GlobalTools.SaveGameObj(lu); } //设置 地刺 //设置大的远背景 }