在Unity4中。 我正在制作网络客户端和服务器..两种不同的统一类型。 客户端是实际的游戏,服务器是一个单独的普通服务器。
我不太了解RPC是什么。我知道它本质上是一个通过网络调用的函数,但我该如何使用它呢?
我必须实例化对象new prefab ..每当我看一个教程它告诉我这样做:transform.position
什么是transform.position,不是我的位置?
如何连接服务器然后更新我的位置?我如何获得其他人的职位?
我的想法是在更新NetworkManager时我会调用一个RPC来将玩家移动到新位置,如果它与旧版本不同?
Network.Instantiate (PlayerController, transform.position, transform.rotation, 0);
transform.position?
PlayerController是放入预制件并重命名的FirstPersonController ..
我需要在服务器部分做什么?服务器基本上只是所有客户端之间的连接,我甚至需要服务器上的RPC功能吗?
当有人连接时,我该如何获取它,以便服务器告诉每个人有人连接,以及如何发送刚刚连接所有新玩家位置的人?
void Update () {
Transform newPos = Network.player.transform;
if (oldPos != newPos)
networkView.RPC ("UpdatePosition", Network.player,
}
public void OnPlayerConnected(NetworkPlayer player){
Network.Instantiate (PlayerController, transform.position, transform.rotation, 0);
}
public void OnPlayerDisconnected(NetworkPlayer player){
Network.RemoveRPCs (player);
Network.DestroyPlayerObjects (player);
}
到目前为止,这是客户端..我需要UpdatePosition来更新单个玩家在所有屏幕上的位置..