【问题标题】:Unity - Prefab Spawn PointUnity - 预制生成点
【发布时间】:2019-12-22 14:33:31
【问题描述】:

我正在创建一个播放器Prefab,如果播放器连接到服务器,它应该会生成。

我一直在测试 Prefabs,它正在生成但不在我想要的位置。

有人可以帮我解决我的问题吗?

这是我的定位点函数:

public class PointJSON
{
    public float[] position;
    public PointJSON(SpawnPoint spawnPoint)
    {
        //* Position 
        position = new float[]
        {
            spawnPoint.transform.position.x,
            spawnPoint.transform.position.y,
         };
    }
}

这是我实例化的GameObject

userJSON currentUserJSON = userJSON.CreateFromJSON(data);
Vector2 position = new Vector2(currentUserJSON.position[0],currentUserJSON.position[1]);
GameObject p = Instantiate(player, position, Quaternion.identity) as GameObject;

【问题讨论】:

    标签: c# json unity3d


    【解决方案1】:

    也许可以尝试做spawner,如果他连接到服务器,这个玩家可以重生。

    这里有我的代码示例,其中小怪在特定时间重生:

    public class Spawner : MonoBehaviour
    {
    
        public GameObject[] chickens;
        public Vector3 spawnValues;
        public float spawnWait;
        public float spawnMostWait;
        public float spawnLeastWait;
        public int startWait;
        public bool stop;
    
        int randEnemy;
    
        void Start()
        {
            StartCoroutine(waitSpawner());
        }
    
        void Update()
        {
            spawnWait = Random.Range(spawnLeastWait, spawnMostWait);
        }
    
        IEnumerator waitSpawner()
        {
            yield return new WaitForSeconds(startWait);
    
            while (!stop)
            {
                randEnemy = Random.Range(0, 2);
                Vector3 spawnPosition = new Vector3(Random.Range(-spawnValues.x, spawnValues.x), Random.Range(-spawnValues.y, spawnValues.y), -3);
                Instantiate(chickens[randEnemy], spawnPosition + transform.TransformPoint(0, 0, 0), gameObject.transform.rotation);
    
                yield return new WaitForSeconds(spawnWait);
            }
        }   
    }
    

    我在游戏项目中放置了 spawner(就像一个方块),并将这个脚本设置为方块。 在那里我选择可以重生的对象、对象的大小、存活的小怪数量(例如,您可以从这个刷怪箱中看到地图上的 10 个小怪)和生成的坐标。 也许这个例子对你有帮助,或者会带来另一个想法来解决你的问题。

    祝你好运

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      相关资源
      最近更新 更多