で無効になってゲームオブジェクトを有効にするには、どのようにゲームオブジェクトを無効にするには、これを達成するために、私は、このようなコードを書かれている:団結
GameObject go;
go = GameObject.FindWithTag("MainCamera");
Destroy(go);
は、それから私は、その無効にゲームオブジェクトを有効にするために苦労しています。
この点についてお手伝いできますか?
で無効になってゲームオブジェクトを有効にするには、どのようにゲームオブジェクトを無効にするには、これを達成するために、私は、このようなコードを書かれている:団結
GameObject go;
go = GameObject.FindWithTag("MainCamera");
Destroy(go);
は、それから私は、その無効にゲームオブジェクトを有効にするために苦労しています。
この点についてお手伝いできますか?
重複質問しかし.....
https://docs.unity3d.com/ScriptReference/GameObject.SetActive.html
ヒント:
go.SetActive(!go.activeInHierarchy)。 //ゲームオブジェクトを切り替えます。
行く= GameObject.FindWithTag( "多田")// Destroy
を呼び出す場合
より良い、あなたは....ゲームオブジェクトを破壊し、あなたはそれを無効にしないでください。代わりに、SetActiveを使用してください。
さらに、FindXXX
のような機能を特に複数回は使用しないでください。いずれかのスタート機能またはあなたがゲームオブジェクトを無効にしようとすると、代わりにそれ以外
// Drag & Drop the gameobject in the inspector
public GameObject targetGameObject ;
public void DisableGameObject()
{
targetGameObject.SetActive(false) ;
}
public void EnableGameObject()
{
targetGameObject.SetActive(true) ;
}
public void ToggleGameObject()
{
if(targetGameObject.activeSelf)
DisableGameObject() ;
else
EnableGameObject();
}
は、一度オブジェクトを見つけるインスペクタでの参照を追加します。
FindXXX
機能が無効になってゲームオブジェクトを見つけることができないことを念頭に置いKeeop(ほとんどの時間)は、それがMainCameraをタグ付けされている場合は
// Drag & Drop the gameobject in the inspector
private GameObject targetGameObject ;
public void DisableGameObject()
{
if(targetGameObject == null)
targetGameObject = GameObject.FindWithTag("MainCamera");
if(targetGameObject != null)
targetGameObject.SetActive(false) ;
}
public void EnableGameObject()
{
if(targetGameObject != null)
targetGameObject.SetActive(true) ;
}
public void ToggleGameObject()
{
if(targetGameObject == null)
targetGameObject = GameObject.FindWithTag("MainCamera");
if(targetGameObject == null)
return ;
if(targetGameObject.activeSelf)
DisableGameObject() ;
else
EnableGameObject();
}
は、Camera.main – Everts
'ゲームオブジェクトを使用ポスターを使用し、それを検索する必要はありません。 FindWithTag'を使用して、私もそれを使用しました。これが一般的なアプローチです。たぶん、彼は彼の心を変え、彼は別のタグを持つgameobjectを見つけたいと思うでしょう。 – Hellium