可选的 type 类型有: cc.SystemEvent.EventType.KEY_DOWN (键盘按下) cc.SystemEvent.EventType.KEY_UP (键盘释放) cc.SystemEvent.EventType.DEVICEMOTION (设备重力传感) 键盘事件 事件监听器类型:cc.SystemEvent.EventType.KEY_DOWN 和 cc.SystemEvent.EventType.KEY_UP 事件触发后的回调函数 (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP , this.onKeyUp, this); }, destroy () { cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown , this); cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this); }, onKeyDown: function
bullet: Prefab; @property(cc.Float) speed = 0; start () { //注册全局触摸点击事件 cc.systemEvent.on RigidBodyComponent); bullet.applyImpulse(new Vec3(0, 2.29, -1 * this.speed)); } 这里需要注意两点: 触摸事件是使用cc.systemEvent 下面重点分析使用键盘控制摄像机移动的相关代码: //使用 cc.systemEvent.on 注册全局键盘事件 start() { cc.systemEvent.on(Node.EventType.KEY_DOWN , this.onKeyDown, this); cc.systemEvent.on(Node.EventType.KEY_UP, this.onKeyUp, this); ..
(1)控制事件处理 onLoad() { cc.systemEvent.on(cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this); } onDestroy() { cc.systemEvent.off (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP
SystemEvent 3. View 4. action 5. audioEngine 6. ParticleSystem 『 游戏模块 』 1. 游戏层 2. 重力传感系统设置 10.1 开启重力传感系统 cc.systemEvent.setAccelerometerEnabled(true); cc.systemEvent.on(cc.SystemEvent.EventType.DEVICEMOTION ,this.onDeviceMotionEvent, this); 10.2 关闭重力传感系统 cc.systemEvent.off(cc.SystemEvent.EventType.DEVICEMOTION
this.accRight = false; // 主角当前水平方向速度 this.xSpeed = 0; // 初始化键盘输入监听 cc.systemEvent.on (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP , this.onKeyUp, this); }, onDestroy () { // 取消键盘输入监听 cc.systemEvent.off(cc.SystemEvent.EventType.KEY_DOWN , this.onKeyDown, this); cc.systemEvent.off(cc.SystemEvent.EventType.KEY_UP, this.onKeyUp, this
this.instance.node.getPosition(); } protected onLoad() { Head.instance = this; cc.systemEvent.on (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); GameEvent.on('gameinit', this.onGameInit GameEvent.on('gamestart', this.onGameStart, this); } protected onDestroy() { cc.systemEvent.off (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); GameEvent.off('gameinit', this.onGameInit
false; this.left = false; this.right = false; // 键盘事件,w s a d 上下左右 cc.systemEvent.on (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP
this.instance.node.getPosition(); } protected onLoad() { Head.instance = this; cc.systemEvent.on (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); GameEvent.on('gameinit', this.onGameInit GameEvent.on('gamestart', this.onGameStart, this); } protected onDestroy() { cc.systemEvent.off (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); GameEvent.off('gameinit', this.onGameInit
add", "name": "My Job", "schedule": { "kind": "every", "everyMs": 3600000 }, "payload": { "kind": "systemEvent "name": "My Job", "schedule": { "kind": "every", "everyMs": 3600000 }, "payload": { "kind": "systemEvent 五、核心亮点二:上下文感知提醒(Context-Aware Reminders)当创建一个 systemEvent 类型的定时任务时,cron 工具能自动附加最近的对话历史作为上下文。 5.1 触发条件动作是 addjob.payload.kind 是 "systemEvent"调用时指定了 contextMessages > 05.2 上下文构建流程5.3 安全截断策略为防止单条消息或总上下文过长 LLM 调用 cron.add,payload.kind="systemEvent"设置 contextMessages=2,自动附加上下文任务到期时,用户收到:“明天上午10点提醒我开会。
我总结了最常见的几个原因: payload.kind 配置错误:用了 systemEvent 而不是 agentTurn 推送参数缺失:没指定正确的 channel、to 地址 权限问题:机器人没有主动消息推送权限 时区不对或者时间戳格式错误 任务状态异常:任务被禁用或者执行失败没日志 二、一步步排查问题 第一步:检查 payload 类型(最常见的坑) 很多人照着老文档配置,会把 payload.kind 设为 systemEvent 正确的配置必须是: "payload": { "kind": "agentTurn", // 绝对不能用 systemEvent! 调试过程中遇到的坑 问题现象 原因 解决方案 任务创建成功但到点没反应 payload.kind 用了 systemEvent 改成 agentTurn 推送时间总是差8小时 没指定时区 加上 --tz
: "0 7 * * *" 是 cron 表达式(每天 7 点)tz: "Asia/Shanghai" 指定时区payload.kind: "agentTurn" 确保消息能发送到 QQ(⚠️不能用 systemEvent qqbot", "to": "{用户 openid}" } }}踩坑经验与解决方案坑 1:定时提醒不发送问题: 设置了提醒但收不到 QQ 消息原因: payload.kind 错误使用了 "systemEvent "解决: 必须使用 "agentTurn" + deliver: true // ❌ 错误"payload": { "kind": "systemEvent" }// ✅ 正确"payload": {
pcPackets = 0; *pcbPacket = 0; *pPackets = NULL; break; case WM_TABLET_SYSTEMEVENT (WM_TABLET_DEFBASE + 8) #define WM_TABLET_DELETED (WM_TABLET_DEFBASE + 9) #define WM_TABLET_SYSTEMEVENT
start() { systemEvent.on(SystemEventType.TOUCH_START, this.onClickBall, this); } private _ray = new
153个TypeScript文件导入语法错误指标数据问题文件数153个实际修复118个修复时间几分钟传统耗时2-3小时效率提升20-30倍3.废弃API迁移场景:CocosCreator3.8.7升级后systemEvent
systemEvent 模式:主会话注入 将事件文本注入到主会话,在下次 heartbeat 时处理。适用于提醒、通知类场景。 { "payload": { "kind": "systemEvent", "text": "提醒:10 分钟后有会议" }, "sessionTarget": "main" , "wakeMode": "now", } sessionTarget: "main" 只能搭配 systemEvent 类型,不可混用。 会话目标组合限制: sessionTarget payload.kind wakeMode 有效组合 main systemEvent now / next-heartbeat 有效 isolated agentTurn now / next-heartbeat 有效 main agentTurn - 无效组合 isolated systemEvent - 无效组合 如果配置了无效组合,Gateway
"cron", "expr": "0 9-18 * * *", "tz": "Asia/Shanghai" }, "payload": { "kind": "systemEvent schedule": { "kind": "cron", "expr": "0 9-18 * * *", "tz": "Asia/Shanghai" }, "payload": { "kind": "systemEvent
= false; this.accRight = false; // 主角当前水平方向速度 this.xSpeed = 0; // 初始化键盘输入监听 cc.systemEvent.on (cc.SystemEvent.EventType.KEY_DOWN, this.onKeyDown, this); cc.systemEvent.on(cc.SystemEvent.EventType.KEY_UP
• Cron 让 Agent 主动工作:两种模式——systemEvent(注入主 session 心跳)和 agentTurn(独立 isolated session),均持久化在 Gateway 进程内 两种执行模式 Cron 任务有两种根本不同的执行模式: 模式一:systemEvent(注入主 session) { "sessionTarget": "main", "payload": { "kind": "systemEvent", "text": "Reminder: check inbox" }, "wakeMode": "now" } 这种模式把事件注入到主 session
<appender-ref ref="rollingFile" /> <appender-ref ref="coloredConsoleApp" /> <appender-ref ref="<em>SystemEvent</em>
publicAnalysisResultanalyzeFault(FaultEventevent){List<CorrelatedIssue>correlatedIssues=newArrayList<>();//1.时间窗口内的关联事件List<SystemEvent