【Unity】Aキーを押す度に特定のゲームオブジェクトの有効無効を切り替える
Unityにおいて、Aキーを押す度に特定のゲームオブジェクトの有効無効を切り替えるには、以下の手順を実行します。
スクリプトの作成
まず、スクリプトを作成します。以下のようなスクリプトを作成すると、Aキーが押された時に、指定したGameObjectのSetActive関数を呼び出して、有効無効を切り替えることができます。
using UnityEngine;
public class ToggleObject : MonoBehaviour
{
public GameObject targetObject;
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
targetObject.SetActive(!targetObject.activeSelf);
}
}
}
説明
targetObject.SetActive(!targetObject.activeSelf);
targetObject.SetActive()
は、指定されたGameObjectのアクティブ状態を設定するメソッドです。引数には、trueを渡すとGameObjectをアクティブに、falseを渡すとGameObjectを非アクティブにすることができます。
targetObject.activeSelf
は、指定されたGameObjectが現在アクティブかどうかを示すプロパティです。activeSelf
がtrueであればGameObjectはアクティブ状態、falseであれば非アクティブ状態です。
!targetObject.activeSelf
は、targetObject.activeSelf
の真偽値を反転させた値を示します。つまり、GameObjectが現在アクティブであればfalse、非アクティブであればtrueを返します。
したがって、targetObject.SetActive(!targetObject.activeSelf)
は、targetObject
のアクティブ状態を反転させることを示しています。つまり、Aキーが押された度に、targetObject
の有効無効が切り替わるということです。
ゲームオブジェクトにスクリプトをアタッチする
次に、切り替えたいGameObjectにスクリプトをアタッチします。GameObjectを選択し、[Add Component] -> [New Script]を選択して、上で作成したスクリプトを追加します。その後、[targetObject]の欄に、有効無効を切り替えたいGameObjectをドラッグ&ドロップして設定します。
ゲームを実行する
最後に、Unity Editorでゲームを実行し、Aキーを押す度に、指定したGameObjectの有効無効が切り替わることを確認します。
以上が、UnityでAキーを押す度に特定のゲームオブジェクトの有効無効を切り替える方法です。
ディスカッション
コメント一覧
まだ、コメントがありません