unity3D 多人游戏 添加多个角色预制体

来源:互联网 发布:京东商城商品分类sql 编辑:程序博客网 时间:2024/05/22 10:23

unity3D 多人游戏 添加多个角色预制体

作一下简短的记录,连接局域网后生成不同的角色。

using UnityEngine;using System.Collections;using UnityEngine.Networking;public class choosePlayer: NetworkManager{//注意是NetworkManager    public GameObject[] playerPrefabs;//可在inspectors里面添加预制体    public int count=0;    public class NetworkMessage:MessageBase{        public int count;    }    void OnGUI(){        if (GUI.Button (new Rect (10, 140, 100, 20), "F-15E")) {            count=0;        }        if (GUI.Button (new Rect (10, 170, 100, 20), "missile")) {            count=1;        }    }// 重写添加预制体的函数    public override void OnServerAddPlayer(NetworkConnection conn,short playerControllerId,NetworkReader extraMessageReader){        NetworkMessage message = extraMessageReader.ReadMessage<NetworkMessage> ();        int playerCount = message.count;        GameObject playerPre = playerPrefabs [playerCount];        GameObject player = (GameObject)Instantiate (playerPre, playerPre.transform.position, Quaternion.identity);//实体化函数        NetworkServer.AddPlayerForConnection (conn, player, playerControllerId);//将玩家角色联网    }    public override void OnClientConnect(NetworkConnection conn){        NetworkMessage test = new NetworkMessage ();        test.count = count;        ClientScene.AddPlayer (conn, 0, test);//调用OnServerAddPlayer()函数。    }}

需要使用的预制体,需要在spawn中完成注册