0
我正在制作地震式游戏,并且目前正在实施多人游戏。如果gameObject =(“玩家(克隆)”)进入触发器,则会出现跳跃板。在unet(Unity多人游戏)中,当你启动并加入它时,会将你的GameObject创建为“玩家(克隆)”。无法在Unity中找到克隆玩家(Unet)的实例
现在的问题是,当第二个玩家加入并在跳板上跳转(进入触发器)时,什么都不会发生。但主持人(玩家1)可以。以下是跳转板识别游戏对象的代码。我一直在抨击我的大脑,试图使用诸如“Find.FindGameObjectsWithTag”之类的不同方法。
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class JumpPad : MonoBehaviour {
QuakeJump fpsinput;
public float power;
private void OnTriggerEnter(Collider mycollision)
{
{
fpsinput =
GameObject.Find("Player(Clone)").GetComponent<QuakeJump>();
if (mycollision.gameObject.tag == "Player")
{
fpsinput.playerVelocity = transform.up * power;
}
}
}
}
编辑:我还注意到,当玩家2次垫跳跃,没有发生在他身上,但播放器1(主机)被发射到空中,甚至没有踩着垫。
我很肯定在这一点上它的编号1),我刚刚开始联网,所以我不确定什么RPCClient和所有。但是你会用什么样的方法(除了rpc)来解决数字1)? –
您需要从已经进入触发器的玩家处获得quakeJump组件。所以,你可以使用这样的代码:https://pastebin.com/baU5qyfb 但是,如果你不确定第二点,它将不起作用。 - – ZayedUpal
我的网络身份设置为本地播放器权限,当我写下你粘贴在我的代码中的内容时,它没有任何影响,它仍然处于当前状态,如果主持人跳转到可以启动的键盘上,并且如果有其他播放器跳上去,玩家不会启动,但主持人即使不在垫上也会启动。 –