如何统一切换切换 Input.GetKeyDown ?
How can I switch toggle Input.GetKeyDown in unity?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DroidMove : MonoBehaviour
{
public GameObject droid;
private void Start()
{
droid.SetActive(false);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.D))
{
droid.transform.position = droid.transform.position - transform.forward;
droid.SetActive(true);
}
}
}
我希望一旦我点击 D 它就会显示机器人,而且当我移动相机(变换)时机器人会跟随相机。
当我再次点击 D 时,将 droid active 设置为 false,这样每次我点击 D 时,它都会在 SetActive false 和 true 之间切换。
要切换对象,您应该使用类似这样的方法。伪
if (Input.GetKeyDown(KeyCode.D))
{
droid.enabled = !droid.enabled;
}
这将允许您在每次按下按钮 D 时切换游戏对象。
在 KeyDown 中
droid.transform.position = droid.transform.position - transform.forward;
这只会工作一次(一帧)。因此,您可以使用 bool 或检查您的游戏对象是否处于活动状态以跟随您的相机。在更新中您可以使用以下
if (droid.activeInHierarchy == true) // or you can use a bool here
{
droid.transform.position = droid.transform.position - transform.forward;
}
希望这对您有所帮助。干杯!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DroidMove : MonoBehaviour
{
public GameObject droid;
private void Start()
{
droid.SetActive(false);
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.D))
{
droid.transform.position = droid.transform.position - transform.forward;
droid.SetActive(true);
}
}
}
我希望一旦我点击 D 它就会显示机器人,而且当我移动相机(变换)时机器人会跟随相机。
当我再次点击 D 时,将 droid active 设置为 false,这样每次我点击 D 时,它都会在 SetActive false 和 true 之间切换。
要切换对象,您应该使用类似这样的方法。伪
if (Input.GetKeyDown(KeyCode.D))
{
droid.enabled = !droid.enabled;
}
这将允许您在每次按下按钮 D 时切换游戏对象。
在 KeyDown 中
droid.transform.position = droid.transform.position - transform.forward;
这只会工作一次(一帧)。因此,您可以使用 bool 或检查您的游戏对象是否处于活动状态以跟随您的相机。在更新中您可以使用以下
if (droid.activeInHierarchy == true) // or you can use a bool here
{
droid.transform.position = droid.transform.position - transform.forward;
}
希望这对您有所帮助。干杯!