GameComponent添加键盘事件开关

This commit is contained in:
donggang
2024-03-01 15:24:01 +08:00
parent e9b69f3ec7
commit f099446867
3 changed files with 72 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
/** 时间工具 */
export class TimeUtil {
/** 间隔天数 */
public static daysBetween(time1: number | string | Date, time2: number | string | Date): number {
if (time2 == undefined || time2 == null) {
time2 = +new Date();
}
let startDate = new Date(time1).toLocaleDateString()
let endDate = new Date(time2).toLocaleDateString()
let startTime = new Date(startDate).getTime();
let endTime = new Date(endDate).getTime();
let dates = Math.abs((startTime - endTime)) / (1000 * 60 * 60 * 24);
return dates;
}
/** 间隔秒数 */
public static secsBetween(time1: number, time2: number) {
if (time2 == undefined || time2 == null) {
time2 = +new Date();
}
let dates = Math.abs((time2 - time1)) / (1000);
return dates;
}
/**
* 代码休眠时间
* @param ms 毫秒
*/
public static async sleep(ms: number) {
return new Promise<void>((resolve) => {
setTimeout(() => {
resolve();
}, ms)
});
}
}

View File

@@ -0,0 +1,9 @@
{
"ver": "4.0.23",
"importer": "typescript",
"imported": true,
"uuid": "c20708ec-ab41-4371-a4eb-161c80f32ce6",
"files": [],
"subMetas": {},
"userData": {}
}

View File

@@ -4,7 +4,7 @@
* @LastEditors: dgflash
* @LastEditTime: 2022-12-13 11:36:00
*/
import { Asset, Component, EventTouch, Node, __private, _decorator } from "cc";
import { Asset, Component, EventKeyboard, EventTouch, Input, Node, __private, _decorator, input } from "cc";
import { oops } from "../../core/Oops";
import { EventDispatcher } from "../../core/common/event/EventDispatcher";
import { EventMessage, ListenerFunc } from "../../core/common/event/EventMessage";
@@ -261,6 +261,32 @@ export class GameComponent extends Component {
console.error(`名为【${name}】的全局事方法不存在`);
}
}
/**
* 键盘事件开关
* @param on 打开键盘事件为true
*/
setKeyboard(on: boolean) {
if (on) {
input.on(Input.EventType.KEY_DOWN, this.onKeyDown, this);
input.on(Input.EventType.KEY_UP, this.onKeyUp, this);
input.on(Input.EventType.KEY_PRESSING, this.onKeyPressing, this);
}
else {
input.off(Input.EventType.KEY_DOWN, this.onKeyDown, this);
input.off(Input.EventType.KEY_UP, this.onKeyUp, this);
input.off(Input.EventType.KEY_PRESSING, this.onKeyPressing, this);
}
}
/** 键按下 */
protected onKeyDown(event: EventKeyboard) { }
/** 键放开 */
protected onKeyUp(event: EventKeyboard) { }
/** 键长按 */
protected onKeyPressing(event: EventKeyboard) { }
//#endregion
protected onDestroy() {