Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义键码变量_C#_Variables_Unity3d_Keypress - Fatal编程技术网

C# 自定义键码变量

C# 自定义键码变量,c#,variables,unity3d,keypress,C#,Variables,Unity3d,Keypress,我正在创建一个虚拟启动板,我将把这个脚本附加到每个按钮上,但我需要它是模块化的,这样我就不需要64个不同的脚本来完成完全相同的事情 我的问题是我不确定如何才能得到一个公共变量的键码。因此,如果我声明了一个名为“theKey”的公共变量: 类似于此的东西,以便在unity中,我可以使用inspector插入此脚本附加到的按钮的热键 字符串不起作用,我需要像.Alpha2这样的完整键码 public class LaunchManager : MonoBehaviour { // Define p

我正在创建一个虚拟启动板,我将把这个脚本附加到每个按钮上,但我需要它是模块化的,这样我就不需要64个不同的脚本来完成完全相同的事情

我的问题是我不确定如何才能得到一个公共变量的键码。因此,如果我声明了一个名为“theKey”的公共变量:

类似于此的东西,以便在unity中,我可以使用inspector插入此脚本附加到的按钮的热键

字符串不起作用,我需要像.Alpha2这样的完整键码

public class LaunchManager : MonoBehaviour {

// Define public variables
public Button b11;

// Initialization
void Start () {
}

// Update is called once per frame
void Update () {

    var pointer = new PointerEventData(EventSystem.current);

    // For Single Use (sound emmission) 
    if (Input.GetKeyDown(KeyCode.Alpha2)) {
        // Click Button from keypress
        ExecuteEvents.Execute(b11.gameObject, pointer, ExecuteEvents.pointerDownHandler);
        // Play Sound
        GetComponent<AudioSource>().Play();
    }

    // Execute while clicking
    if (Input.GetKey(KeyCode.Alpha2)) {
        //set button colour to pressed state
    }

  }
}
公共类启动管理器:MonoBehavior{
//定义公共变量
公共按钮b11;
//初始化
无效开始(){
}
//每帧调用一次更新
无效更新(){
var pointer=新的PointerEventData(EventSystem.current);
//一次性使用(声音发射)
if(Input.GetKeyDown(KeyCode.Alpha2)){
//从按键中单击按钮
ExecuteEvents.Execute(b11.gameObject,pointer,ExecuteEvents.pointerDownHandler);
//播放声音
GetComponent().Play();
}
//单击时执行
if(Input.GetKey(KeyCode.Alpha2)){
//将按钮颜色设置为按下状态
}
}
}

非常感谢您的帮助。我确实仔细检查了一下,想找到答案。如果我仍然缺少相关的详细信息,请告诉我,我会回答。

如果我正确理解了您的问题,您希望生成一个公钥代码变量,如下所示:

public Keycode theKey = Keycode.None;
你可以像这样使用它:

if (Input.GetKeyDown(theKey))
{

//Do code

}
if (Input.GetKeyDown(theKey))
{

//Do code

}