c# - 如何在脚本中仅使用游戏对象在 Unity C# 中启用部件/组件

标签 c# unity3d parent-child unity-components

我正在使用 Photon 在我的游戏中制作多人游戏,以确保一个玩家不会控制所有玩家,当您重生时,客户端将激活您的脚本/相机,以便您可以看到和移动。

虽然我想不出解决这个问题的方法,因为我不知道如何启用/禁用子组件或启用 child 的 child 。

我想通过脚本启用它 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 游戏对象启用这些组件,而那个仅。

这就是让我的游戏运行所需的一切,所以请帮忙。

如果这是重复的,我很抱歉,因为我不确定如何表达这个标题。

最佳答案

我统一您可以使用 gameObject.GetComponentInChildren 启用和禁用子对象中的组件

ComponentYouNeed component = gameObject.GetComponentInChildren<ComponentYouNeed>();
component.enabled = false;

也可以使用gameObject.GetComponentsInChildren

关于c# - 如何在脚本中仅使用游戏对象在 Unity C# 中启用部件/组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31993266/

相关文章:

c# - 我应该在构建服务器上安装 SDK 吗?

c# - 当前上下文中不存在“CrossPlatformInputManager”

c# - Unity WaitForSeconds 不工作 c#

sql - 如何使用 T-SQL 组合多个不同长度的父子关系?

javascript - 我有一个具有父 id 的平面数组,我想将其嵌套起来,就像使用 javascript 的树父子数组一样

c# - 在 WPF 文本框上调用 Select() 不执行任何操作

c# - 启用迁移时出错

c# - Sap .Net Connector 3 上的异步方法

android - Android 中的嵌入式 Unity 使应用程序崩溃

javascript - 使用父子方法从链接中选择文本