我正在制作一款地震风格的游戏,目前正在实施多人游戏。有跳垫,如果 gameObject=("Player(Clone)") 进入触发器,它就会飞起来。在 unet (Unity Multiplayer) 中,当您启动并加入时,它会将您的游戏对象创建为“Player(Clone)”。
现在的问题是,当第二个玩家加入并在跳跃垫上跳跃(进入触发器)时,什么也没有发生。但是主机(玩家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(主机)甚至没有踩到垫子就被发射到空中。