讨论!Canvas以及GameCanvas下的按键问题??
我现在是这样的
定义拉一个整型int i
当按下上或下或左或右时自增1
在Canvas下用keyPressed来检测按键
在GameCanvas下用拉input()一个方法,在方法中int keyStates = getKeyStates();
if ((keyStates & LEFT_PRESSED) != 0)
{
i=i+1;
}
来检查按键,将input()方法加入到线程RUN()中不断检查按键
现在问题来拉
在Canvas下按下右,i就增拉1,这是对的
但在GameCanvas下就出问题拉,按下右,i就增拉很多,也就是检查按拉N次
这就是我郁闷拉?为什么在GameCanvas会出这种问题勒?
有能解释下的吗
------解决方案--------------------Canvas里keyPressed方法里,只有按下去才检测到一次事件
但是GameCanvas里的getKeyState是返回的按键状态,就是说按着不动,会多次触发你的事件