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