请问Android手机上面检测不到keyup事件,该如何解决?可以检测到keydown
cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this);
cocoscreator 版本2.0.1
没有解决方案吗。。开发引擎组的大神在不
2.0.x 的后续版本修复了,可切 2.0.5
您好,我使用2.0.5版本依然检测不到……
2.0.5 同样的问题。
在web上,down up都有。但是键按住不松手,会一直重复触发down事件。
在android上,down事件不会重复,但是up事件不会触发,按下松起都会触发down事件.
错误代码应该是这里了。
` JNIEXPORT jboolean JNICALL JNI_RENDER(nativeKeyEvent)(JNIEnv * env, jobject thiz, jint keyCode, jboolean isPressed)
{
if (g_isGameFinished) {
return JNI_TRUE;
}
int keyInWeb = -1;
// key values in web, refer to http://docs.cocos.com/creator/api/en/enums/KEY.html
switch(keyCode)
{
case KEYCODE_BACK:
keyInWeb = 6;
break;
case KEYCODE_ENTER:
keyInWeb = 13;
break;
case KEYCODE_MENU:
keyInWeb = 18;
break;
case KEYCODE_DPAD_UP:
keyInWeb = 1003;
break;
case KEYCODE_DPAD_DOWN:
keyInWeb = 1004;
break;
case KEYCODE_DPAD_LEFT:
keyInWeb = 1000;
break;
case KEYCODE_DPAD_RIGHT:
keyInWeb = 1001;
break;
case KEYCODE_DPAD_CENTER:
keyInWeb = 1005;
break;
default:
keyInWeb = 0; // If the key can't be identified, this value is 0
}
KeyboardEvent event;
event.key = keyInWeb;
event.action = KeyboardEvent::Action::PRESS;
EventDispatcher::dispatchKeyboardEvent(event);
return JNI_TRUE;
}`
这里的 isPressed 是指按下或松起,但方法里没有用这个值,直接写死了PRESS
2.0.6还是有这个问题,请问解决了吗?
JNIEXPORT jboolean JNICALL JNI_RENDER(nativeKeyEvent)(JNIEnv * env, jobject thiz, jint keyCode, jboolean isPressed)这个方法未执行是原因啊,android按键响应了,但是未响应这函数,2.4.4的creator