您好,我正在开发一款多人游戏,但是我的客户在被枪击时接收信息时遇到了问题。 我制作了一个附在播放器上的脚本。
预先感谢您的帮助。
[Command]
void CmdShoot(){
GameObject bullet = (GameObject)Instantiate (_bulletPrefab, _canon.position, _canon.rotation);
bullet.GetComponent<Rigidbody> ().velocity = bullet.transform.forward * _bulletSpeed;
NetworkServer.Spawn (bullet);
}
void OnCollisionEnter(Collision coll){
if (isLocalPlayer) {
if (coll.gameObject.tag == "bullet") {
Debug.Log ("hit");
isHit = true;
}
}
}
当我在主机上时,一切运行正常,并且每次我碰到主机时,都可以在检查器中看到debug.log。 但是当我在客户端上时。 debug.log是不准确的,客户端仅收到信息的时间大约是1/3,有时它只能工作,有时却不能。就像有时客户找不到标记为“子弹”的游戏对象一样。任何人都有相同的问题,或者知道如何解决??