创建场景
我们一直都是在第二个场景在弄的
unity5.3以后可以跨场景编辑
从别的场景拷贝东西过来用
点击人机对战的时候,让关卡选择出来,把自己的父节点隐藏
演示
https://live.csdn.net/v/120139
做一个红点跟踪
让对手知道敌人上一步落子
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class UIFollow : MonoBehaviour {
void Update () {
if (ChessBoard.Instacne.chessStack.Count > 0)
transform.position = ChessBoard.Instacne.chessStack.Peek().position;
}
public void OnRelayBtn()
{
SceneManager.LoadScene(1);
}
public void ReturnBtn()
{
SceneManager.LoadScene(0);
}
}
双人悔棋
模式选择逻辑
现在有4个玩家,两个人类,两个AI初始化都设置成Watch
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class GameManager : MonoBehaviour
{
public List<Player> Player = new List<global::Player>();
private void Awake()
{
int player1 = PlayerPrefs.GetInt("Player1"); //黑旗
int player2 = PlayerPrefs.GetInt("Player2");//白棋
for (int i = 0; i < Player.Count; i++)
{
if (player1 == i)
{
Player[i].chessColor = ChessType.Black;
}
else if (player2 == i)
{
Player[i].chessColor = ChessType.White;
}
else
{
Player[i].chessColor = ChessType.Watch;
}
}
}
public void SetPlayer1(int i)
{
PlayerPrefs.SetInt("Player1", i);
}
public void SetPlayer2(int i)
{
PlayerPrefs.SetInt("Player2", i);
}
public void PlayGame()
{
SceneManager.LoadScene(1);
}
}
if (player1 == 0 && player2 == 1)
{
ChessBoard.Instacne.moshiName.text = "双人对弈";
}
else if (player2 == 2)
{
ChessBoard.Instacne.moshiName.text = "简单AI";
}
else if (player2 == 3)
{
ChessBoard.Instacne.moshiName.text = "困难AI";
}
更换先手
public void ChangeChessColor()
{
for (int i = 0; i < Player.Count; i++)
{
if (Player[i].chessColor == ChessType.Black)
{
SetPlayer2(i);
}
else if ((Player[i].chessColor == ChessType.White))
{
SetPlayer1(i);
}
else
{
Player[i].chessColor = ChessType.Watch;
}
}
SceneManager.LoadScene(1);
}