赞
踩
Multiplayer HLAPI在之前叫做UNet,可以开发联机网络游戏
——NetworkBehaviour:网络的基础类,继承自 MonoBehaviour,如果需要支持网络特性,需要继承NetworkBehaviour而不是 MonoBehaviour
——NetworkManager:网络管理类,StartServer、StopServer、StartClient、StopClient
——NetworkManagerHUD:添加此组件会自动添加NetworkManager组件,它会在场景中显示交互的HUD
——NetworkIdentity:所有网络相关的游戏物体或预制体都需要添加的组件
——NetworkTransform:实现对象的transform同步
——Command标签属性: 由客户端发起调用,在服务器执行(方法以Cmd开头)
——ClientRpc标签属性:由服务器发起调用,在客户端执行(方法以Rpc开头)
——SyncVar标签属性、SyncEvent标签属性:标记了服务器和客户端上需要同步的变量和事件,在对标识的变量或时间进行操作时,会同时将信息发送至服务器与客户端
——ServerCallback标签属性、ClientCallback标签属性:服务端和客户端回调函数
- using UnityEngine;
- using UnityEngine.Networking;
-
- public class PlayerCotrol : NetworkBehaviour
- {
- private void Awake()
- {
-
- }
-
- public override void OnStartLocalPlayer()
- {
- Debug.Log("OnStartLocalPlayer");
- }
-
- private void Update()
- {
- if (!isLocalPlayer)
- {
- return;
- }
-
- if (Input.GetKeyDown(KeyCode.A))
- {
- CmdShow();
- }
- if (Input.GetKeyDown(KeyCode.D))
- {
- CmdHide();
- }
- }
-
- [Command]
- void CmdShow()
- {
- RpcShow();
- }
-
- [ClientRpc]
- void RpcShow()
- {
- GameObject.Find("Cube(Clone)").GetComponent<MeshRenderer>().enabled = true;
- }
-
- [Command]
- void CmdHide()
- {
- RpcHide();
- }
-
- [ClientRpc]
- void RpcHide()
- {
- GameObject.Find("Cube(Clone)").GetComponent<MeshRenderer>().enabled = false;
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。