在我的游戏中,您可以控制单位,每个单位都有法术,我们希望为用户提供更改其不同法术的键绑定的可能性。
目标是使示例有可能对一个咒语进行组合输入(例如:“ ctrl + H”发送该咒语)
我在统一商店中找到了一个名为“ Rewired”的插件,该插件似乎可以做到这一点,但是它的价格为40欧元,可以处理太多我不想要的功能。
因此,我尝试创建自己的脚本来解决我的问题,但是我不知道如何创建两个按键代码的组合。
这是我的脚本,请问您如何创建此脚本?
KeyCode key;
KeyCode curModifiersKey;(alt, ctrl)
KeyCode nonModifierKey;
KeyCode firstModifierKeyInfo;
KeyCode finalKey;
public void DetectedSeveralInput(KeyCode key)
{
if (key != KeyCode.AltGr)
{
if (key == KeyCode.LeftAlt || key == KeyCode.RightAlt || key == KeyCode.LeftControl || key == KeyCode.RightControl)
{
if (modifierPressedCount == 0)
{
firstModifierKeyInfo = key;
modifierPressedCount += 1;
}
curModifiersKey = key;
}
nonModifierKey = key;
//finalKey = curModifiersKey + nonModifierKey
LogVariables();
}
else
{
Debug.Log("AltGR pressed");
return;
}
}
答案 0 :(得分:1)
我要检测多个按键的操作是这样的
void Update()
{
bool shiftPressed = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift);
bool keyPressed = Input.GetKeyUp( /* other key code here */ );
if(shiftPressed && keyPressed)
{
//Do logic here
}
}
我检查了由Input.GetKey持有的shift键,但是通过使另一个检查一个Input.GetKeyUp来确保逻辑仅发生一次,因此只有在释放键时该逻辑才成立。
答案 1 :(得分:0)
感谢特里科的回答。
但是问题是,当您有10个拥有4个咒语的单位时,我无法执行此系统。 我的参考资料是《星际争霸2》,当您可以添加鼠标按钮或同时按下ctrl / shift / alt时,您会在整个面板上进行自己的按键绑定。
这就是为什么我想要将2个输入保存为一个(如果可能)并将其与单元Y的n°X关联的原因