我有Player(NetworkBehaviour)
脚本附加到播放器预制件,当客户端加入时会产生,而Global(MonoBehaviour)
脚本位于场景内
在全局脚本中我有这个:
class Global : MonoBehaviour
{
public static int gloablInteger;
void Start()
{
globalInteger = 0;
}
}
在播放器脚本中我有这个:
class Player : Networkbehaviour
{
public void Start()
{
Global.globalInteger++;
}
}
我在更新功能中设置为Debug.Log(globalInteger)
并打印0
,然后是第一个客户端(主机)连接,它打印1
,然后第二个客户端连接,它仍然打印{{ 1}}而不是1
。为什么会这样?
答案 0 :(得分:0)
它对我有用。
这是我的剧本
clientS
void Start ()
{
globalS.g++;
Debug.Log(globalS.g); //1,2,3,4,5
}
<强>全局强>
public static int g = 0;
我认为您可能重置值 globalInteger ,或者没有正确调用 Global.globalInteger ++ ,请注意每个GameObject Start功能在运行时调用一次。
答案 1 :(得分:0)
每次客户端加入时,它都会在Start()函数中将globalInteger重置为0。