unity 中获取输入的类是Input。如判断是否有Delete键按下
if (Input.GetKeydown( KeyCode.Delete ))
{
// do
something
}
查看Input这个类的提供的方法,有个GetMouseButtonDown(), 参数为0表示左键,那么如果我们想知道左键是不是按下的状态那是不是就可以直接:
void Update()
{
if (Input.GetMouseButtonDown(0))
{
Debug.Log( “mouse left
button is down” );
}
}
似乎没有任何问题。但是如果你把代码加入到你的测试程序中,运行程序,就会发现,当你按下鼠标并且不松开的时候虽然能输出“mouse left button is down”,但是只是几个而已,而不是我们期望的,如果不松开,会一直打印 mouse left button is down。这时候松开,在按下有只输出几个而已。
为什么?我们再看看它的帮助:
You need to call this function from the Update
function, since the state gets reset each frame.It will not
return true until the user has released the mouse button and
pressed it again.button values are 0 for left
button, 1 for right button, 2 for the middle button.
原来这个状态-按下的状态 只会持续几帧的状态,帮助中说每一帧都会重置,测试的结果并不是这样,能够持续几帧,之后就会重置。也就是几帧之
if (Input.GetKeydown( KeyCode.Delete ))
{
}
查看Input这个类的提供的方法,有个GetMouseButtonDown(), 参数为0表示左键,那么如果我们想知道左键是不是按下的状态那是不是就可以直接:
void Update()
{
}
似乎没有任何问题。但是如果你把代码加入到你的测试程序中,运行程序,就会发现,当你按下鼠标并且不松开的时候虽然能输出“mouse left button is down”,但是只是几个而已,而不是我们期望的,如果不松开,会一直打印 mouse left button is down。这时候松开,在按下有只输出几个而已。
为什么?我们再看看它的帮助:
You need to call this function from the
原来这个状态-按下的状态 只会持续几帧的状态,帮助中说每一帧都会重置,测试的结果并不是这样,能够持续几帧,之后就会重置。也就是几帧之
