我正在使用Photon为我的游戏添加多人游戏功能,为了确保没有一个玩家控制所有玩家,当你生成时,客户端会激活你的脚本/相机,以便你可以看到和移动。
虽然我想不出解决这个问题的方法,因为我不知道如何启用/禁用子组件或启用子代的子代。
我想通过脚本来实现这个: http://imgur.com/ZntA8Qx 和这个: http://imgur.com/Nd0Ktoy 我的脚本是这样的:
下面那个位于monobehaivour下方的部分是我想启用它们的地方。正如您所看到的,我已经知道如何激活游戏对象中的某些内容,我只需要帮助实现上述内容。谢谢您的帮助。
我通过预制件进行生成,因此我希望仅编辑我生成的一个,并且不影响关卡中的其他对象,也就是说,我想使用myPlayerGO游戏对象来启用这些组件,仅限于该对象。
这就是我需要让我的游戏运行起来的全部内容,请帮忙。
如果这是重复的,请原谅我,因为我不确定如何表达标题。
虽然我想不出解决这个问题的方法,因为我不知道如何启用/禁用子组件或启用子代的子代。
我想通过脚本来实现这个: http://imgur.com/ZntA8Qx 和这个: http://imgur.com/Nd0Ktoy 我的脚本是这样的:
using UnityEngine;
using System.Collections;
public class NetworkManager : MonoBehaviour {
public Camera standByCamera;
// Use this for initialization
void Start () {
Connect();
}
void Connect() {
Debug.Log("Attempting to connect to Master...");
PhotonNetwork.ConnectUsingSettings("0.0.1");
}
void OnGUI() {
GUILayout.Label(PhotonNetwork.connectionStateDetailed.ToString());
}
void OnConnectedToMaster() {
Debug.Log("Joined Master Successfully.");
Debug.Log("Attempting to connect to a random room...");
PhotonNetwork.JoinRandomRoom();
}
void OnPhotonRandomJoinFailed(){
Debug.Log("Join Failed: No Rooms.");
Debug.Log("Creating Room...");
PhotonNetwork.CreateRoom(null);
}
void OnJoinedRoom() {
Debug.Log("Joined Successfully.");
SpawnMyPlayer();
}
void SpawnMyPlayer() {
GameObject myPlayerGO = (GameObject)PhotonNetwork.Instantiate("Body", Vector3.zero, Quaternion.identity, 0);
standByCamera.enabled = false;
((MonoBehaviour)myPlayerGO.GetComponent("Movement")).enabled = true;
}
}
下面那个位于monobehaivour下方的部分是我想启用它们的地方。正如您所看到的,我已经知道如何激活游戏对象中的某些内容,我只需要帮助实现上述内容。谢谢您的帮助。
我通过预制件进行生成,因此我希望仅编辑我生成的一个,并且不影响关卡中的其他对象,也就是说,我想使用myPlayerGO游戏对象来启用这些组件,仅限于该对象。
这就是我需要让我的游戏运行起来的全部内容,请帮忙。
如果这是重复的,请原谅我,因为我不确定如何表达标题。