在这里输入我的密码
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
ContinueDialog();
Cursor.lockState = CursorLockMode.Locked;
}
}
我想两次或多次使用空格输入来访问我的其他功能吗?
答案 0 :(得分:2)
您可以在代码的其他位置使用相同的功能。 Input.GetKeyDown()函数在按下键的第一帧返回true,如下所示: https://docs.unity3d.com/ScriptReference/Input.GetKeyDown.html
答案 1 :(得分:1)
我不确定我是否正确回答了您的问题,但我会尽力帮助您:)
您可以这样操作:
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
ContinueDialog();
Cursor.lockState = CursorLockMode.Locked;
}
if (Input.GetKeyDown(KeyCode.Space))
{
OtherMethod();
}
}
或者我更喜欢在陈述中使用其他方法:
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
OtherMethod();
ContinueDialog();
Cursor.lockState = CursorLockMode.Locked;
}
}
答案 2 :(得分:1)
您有两种选择来执行其他操作。
您可以在if语句内添加循环:
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
int count = 1;
while(count < <desired number of iterations>){
ContinueDialog();
Cursor.lockState = CursorLockMode.Locked;
count++;
}
}
}
您可以使用带开关的循环:void Update(){
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
int count = 1;
while(count < <desired number of iterations>)
{
switch(count)
{
case 1:
ContinueDialog();
Cursor.lockState = CursorLockMode.Locked;
count++;
break;
case 2:
otherFunction();
count++;
break;
case 3:
thirdFunction();
count++;
break;
}
}
}
}
您可以使用自定义处理程序来处理input.KeyDown事件。