分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

使用Multiplayer Networking做一个简单的多人游戏例子-1/2(换一种方法)

发布时间:2023-09-06 01:28责任编辑:傅花花关键词:暂无标签

SynMove.cs

using UnityEngine;using System.Collections;using UnityEngine.Networking;public class SynMove : NetworkBehaviour { ???//当 SyncVar 发生改变时,UNet 会从 Server 端向所有有效的 Client 端发送这些改变。注意这里的方向,是从 Server 到 Client ,而不是从 Client 到 Server 的方向。 ???[SyncVar] ???private Vector3 synPos; ???[SerializeField]Transform myTransform; ???[SerializeField]float lerpRate = 15; ???????// Update is called once per frame ???void FixedUpdate () { ???????TransmitPosition (); ???????LerpPosition (); ???????} ???void LerpPosition(){ ???????//不是本地玩家 ???????if (!isLocalPlayer) { ???????????//非本地玩家的位置进行更新 ???????????myTransform.position = Vector3.Lerp (myTransform.position,synPos,Time.deltaTime*lerpRate); ???????} ???} ???[Command] ???//命令, 在客户端调用,但是在服务端运行,这是方法必须以 Cmd 开头 ???void CmdProvidePositionToServer(Vector3 pos){ ???????//在服务器上为synPos 同步变量赋值 ???????synPos = pos; ???} ???[ClientCallback] ???//只在客户端调用 ???void TransmitPosition(){ ???????//是本地玩家 ???????if (isLocalPlayer) { ???????????//就把本地玩家的位置传给服务器 ???????????CmdProvidePositionToServer (myTransform.position); ???????} ???}}

PlayerController.cs

using UnityEngine;using System.Collections;using UnityEngine.Networking;public class PlayerController : NetworkBehaviour { ???????// Update is called once per frame ???void Update () { ???????//判断是不是本地玩家(自己只能控制自己的玩家,不能控制别人的玩家) ???????if (isLocalPlayer == false) { ???????????return; ???????} ???????//获取键盘横轴的值 ???????float h = Input.GetAxis ("Horizontal"); ???????//获取键盘纵轴的值 ???????float v = Input.GetAxis ("Vertical"); ???????//主角左右移动 ???????transform.Translate (Vector3.right*h*3*Time.deltaTime); ???????//主角前后移动 ???????transform.Translate (Vector3.forward*v*3*Time.deltaTime); ???}}

使用Multiplayer Networking做一个简单的多人游戏例子-1/2(换一种方法)

原文地址:http://www.cnblogs.com/ye-ming/p/7976817.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved