0

我正在一个基本的 2d 游戏中测试 Unet 多人游戏功能。目前它由一个上下移动的盒子/球拍组成。在 monobehaviour 类中,盒子正确地上下移动,但是当我在 networkbehaviour 类中包含 islocalplayer 时,盒子不会上下移动。当我玩游戏时,网络信息框显示islocal no。我该如何改变这一点。在此处输入图像描述

using UnityEngine;
using UnityEngine.Networking;

public class MoveRacket : NetworkBehaviour
{
  public float speed= 30;
  public string axis = "Vertical"; 

  void Update()
  {

    if (!isLocalPlayer)
    {
       return;
    }

    float v = Input.GetAxisRaw(axis);
    GetComponent<Rigidbody2D>().velocity = new Vector2(0, v) * speed;
  }

}
4

2 回答 2

0

好的,在网络管理器游戏对象中得到它>生成信息>检查自动创建播放器

于 2016-04-26T20:52:26.520 回答
0

isLocalPlayerNetworkObject文件中,尝试打开NetworkObject脚本并找到:

public bool IsLocalPlayer => NetworkManager.Singleton != null && IsPlayerObject && OwnerClientId == NetworkManager.Singleton.LocalClientId;

如果它在那里,您应该更改isLocalPlayerIsLocalPlayer.

于 2021-09-03T07:45:08.087 回答