随机位置产生

时间:2018-07-29 23:57:28

标签: random spawn

我目前正在使用统一坦克游戏教程,并且一直在进行改进,并且正在尝试随机产生坦克。它的工作方式是为坦克1选择一个随机的生成点,然后为坦克2添加一个到生成器以选择下一个生成点,这样就消除了两个坦克都具有相同的生成点的机会,但两个坦克偶尔会得到相同的生成点。所以我想知道如何解决这个问题并使坦克在随机的地方产卵,而不是在同一个位置产卵

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
    public int m_NumRoundsToWin = 5;        
    public float m_StartDelay = 3f;         
    public float m_EndDelay = 3f;           
    public CameraControl m_CameraControl;   
    public Text m_MessageText;              
    public GameObject m_TankPrefab;         
    public TankManager[] m_Tanks;
    public Transform[] m_SpawnPoints;           


    private int m_RoundNumber;              
    private WaitForSeconds m_StartWait;     
    private WaitForSeconds m_EndWait;       
    private TankManager m_RoundWinner;
    private TankManager m_GameWinner; 

private void SpawnAllTanks()
{
int spawn = Random.Range(0, 666);
    for (int i = 0; i < m_Tanks.Length; i++)
    {
        m_Tanks[i].m_SpawnPoint.rotation) as GameObject;
           m_Tanks[i].m_Instance =
                    Instantiate(m_TankPrefab, m_SpawnPoints[(spawn + i) % 6].position, m_Tanks[i].m_SpawnPoint.rotation) as GameObject;
                    print("Choosing Spawn"+(spawn + i) % 6);
        m_Tanks[i].m_PlayerNumber = i + 1;
        m_Tanks[i].m_SpawnPoint.position =m_SpawnPoints[(spawn + i) % 6].position;
        m_Tanks[i].Setup();

    }
}

0 个答案:

没有答案