【发布时间】:2019-08-10 16:48:00
【问题描述】:
我需要帮助在所有客户端和主机上运行功能。
我尝试了以下代码,但它只适用于主机而不适用于客户端。
在这段代码中我做了一个跳跃技能。当玩家拿走它时,他们可以通过按R键来使用它。它在主机上运行良好,但在客户端上不起作用。
[Command]
void Cmd_ProvideJumpToserver()
{
Rpc_JumpUp();
}
[ClientRpc]
void Rpc_JumpUp()
{
if (JumpUp == 1)
{
Debug.Log("Jump Up Used");
gameObject.GetComponent<Rigidbody2D>().AddForce(Vector2.up * 15f, ForceMode2D.Impulse);
JumpUp = 0;
}
}
【问题讨论】:
-
好吧,我想必须将
JumpUp设置为 1。 -
是的,当他们从地图中获取技能时,JumpUp 变量会变为一个 nad,我也尝试从地图中获取并从检查员那里获取,但它不起作用。顺便说一句,我得到了 Debug.Log("Jump Up Used");控制台上的消息。
-
您能告诉我们您是如何将
JumpUp设置为1 的吗?你也得到客户端上的Jump Up Used方法还是只有主机?
标签: c# unity3d unity3d-unet