定义一个数组,用来储存角色,在定义两个transform来存角色的位置;将玩家拖到游戏管理器中,好拿到玩家。
private List<GameObject> players = new List<GameObject>();//玩家数组
private Players p = Players.PlayerOne;//玩家状态
private Transform p1,p2;//两个玩家位置
void Start(){
players.Add(transform.GetChild(0).gameObject);在玩家管理器脚本中拿到玩家对象
players.Add(transform.GetChild(1).gameObject);
}
void Update()
{
p1 =transform.GetChild(0).transform;
p2 = transform.GetChild(1).transform;//实时拿到两个玩家位置
TabPlayer();//调用方法
}
void TabPlayer(){
if (Input.GetKeyDown(KeyCode.B))//键盘事件
{
players[0].SetActive(false);//玩家1消失
players[1].SetActive(true);//玩家2出现
p = Players.PlayerTwo;//修改玩家状态
players[1].transform.position = p1.position;//将玩家1的位置赋给玩家2
players[1].transform.rotation = p1.rotation;//将玩家1的旋转角度赋给玩家2
}
else if (Input.GetKeyDown(KeyCode.N))
{
players[0].SetActive(true);
players[1].SetActive(false);
p = Players.PlayerTwo;
players[0].transform.position = p2.position;
players[0].transform.rotation = p2.rotation;
}
}