我正在创建一个 3D 多人游戏,我开始使用光子。一切都很完美,直到我尝试在线玩。当我从另一个设备输入时,变量 view.IsMine 由于某种原因自动更改,并且其他设备中的播放器控制我的播放器。有人可以帮我吗?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Photon.Pun;
public class Mototron : MonoBehaviour
{
public float speed = -21f;
private float targetAngle = 90f;
public float enemyK = 0f;
public bool isMoving = false;
public GameObject boxPrefab;
public GameObject deadCanvas;
public GameObject wonCanvas;
public bool box;
PhotonView view;
void Start()
{
view = GetComponent<PhotonView>();
}
public void Update ()
{
movement();
}
void movement ()
{
if(Input.GetKey(KeyCode.W) && view.IsMine)
{
transform.Translate(Vector3.forward * speed * Time.deltaTime);
}
}
}
我想让设备控制他们正在玩的确切玩家!
Nvm 已经修复了这个问题,如果不是你的,只需销毁其他玩家的相机,就像这样
if(!view.IsMine)
{
Destroy(cam);
}