自定义KeyCode变量
本文关键字:变量 KeyCode 自定义 | 更新日期: 2023-09-27 18:30:07
我正在创建一个虚拟启动板,我将把这个脚本附加到每个按钮上,但我需要它是模块化的,这样我就不需要64个不同的脚本来做完全相同的事情。
我的问题是我不确定如何将KeyCodes作为公共变量。因此,如果我声明了一个名为"theKey"的公共变量:
if (Input.GetKeyDown(KeyCode.theKey))
{ //play sound etc.
}
类似的东西,这样在统一中,我可以使用检查器插入这个脚本所附按钮的热键。
KeyCode.String不起作用,我需要完整的KeyCodes,如.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
}
}
}
非常感谢您的帮助。我确实仔细检查了一下,想找到答案。如果我仍然缺少相关细节,请告诉我,我会做出回应。
如果我正确理解你的问题,你想创建一个公共密钥代码变量,这样做:
public Keycode theKey = Keycode.None;
你可以像一样使用它
if (Input.GetKeyDown(theKey))
{
//Do code
}