核心数学原理缩放前后,鼠标指向的那个世界坐标点必须保持在同一屏幕位置。已知:旧缩放 oldZoom、新缩放 newZoom、鼠标锚点屏幕坐标 (ax, ay)、当前偏移 (panX, panY)步骤1:算出旧缩放下鼠标指向的世界坐标 wx = (ax - panX) / oldZoom wy = (ay - panY) / oldZoom步骤2:新缩放后反解新偏移,让 wx/wy
目标场景:地图编辑器"物品/墙体/地面/房间/人员"调色板弹窗的图片首帧显示 文档目的:沉淀"图片为什么慢、怎么治、发布后玩家体验如何、未来加资源时 preload_groups 怎么取舍"的完整结论,避免重复踩坑。一句话结论 WASM 下图片"慢"不是单一问题,而是下载 / 解码 / 上传 GPU 三件事全堆在"玩家点弹窗那一刻"做导致的。优化的本质是把这三件事提前到启动期做(让玩家点的时候图
可以。**当前架构已经让小人具备“运行时知道自己现在该做什么,并能按时间和突发事件切换行为”的基础能力**。但这里的“知道”是数据驱动的决策状态,不是自然语言推理或长期自主规划。 ## 1. 能知道当前任务 ### 学生 学生每次决策时,会先从通用任务服务查询“与自己相关的最高优先级开放任务”: - `scripts/系统/`- `scripts/系统/`任务可能是:- 全体学
一、问题链用户截图反馈了三个递进的问题:问题 1:点击地面类型(如食堂地砖),弹窗不关闭,挡住画布无法操作 ↓ 修复 v0.10.94问题 2:地面贴图太大,一块地砖比小人还宽,比例失调 ↓ 修复 v0.10.96(改配置值)问题 3:改了配置值后刷新仍然太大——旧存档的 tileSize=256 优先级高于新 config ↓ 修复 v0.10.97(反转渲染优先级)二、关键代码
四个原则(数据驱动、组件化、组合优于继承、对象池)确实是系统从"能跑"到"能维护"的分水岭。先看看你的游戏现状,再说怎么落地。你的游戏现状分析你的《自由的校园》不是传统战斗游戏,但已经有大量"对抗性交互":已有机制 对应战斗系统概念主角投掷物品(粉笔、扫把) 投射物 / 技能行为违规 → 目击 → 怀疑累积 Debuff 叠加冲突事件 → 保安响应 Boss 技能 / AI 响应链
这是一个很好的思路。RND 的核心——用"预测误差"度量新奇度,驱动探索——可以直接映射到校园小人的认知系统上,而且不需要真的跑神经网络。下面是方案讨论。RND 思想到校园小人的映射RND 原始结构 vs 校园简化版RND 组件 原始含义 校园小人对应目标网络(固定随机) 为每个状态生成固定特征 环境的客观快照:房间类型、物件数、人员密度、卫生度、当前时段预测网络(可训练) 学习预测目标
问题诊断过程用户报告:编辑器建好房间 → 保存 → 刷新页面 → 进编辑器 → 数据全没了。关键线索:用户发现"校园日"模式刷新后能看到房间,但一进编辑器就没了。这直接指向了编辑器页面自身的初始化逻辑,而非持久化链路。根因地图编辑模式.lua 的 EnsureBlankEditorLayout() 设计意图是"首次打开编辑器提供空白画布",用模块级布尔 editorLayoutClear
经验下标 = 视觉格子,空槽是合法状态。定长 9 槽,inventory[i]=nil 即第 i 格空着,中间允许空。任何"把物品往前挪/压缩/重排"的操作都会让"你看到的格子"和"数组真实下标"脱节 → 物品消失。渲染直映 inventory[i],数据层绝不重排。稀疏表禁用 #。带 nil 洞的表 #inv 是未定义的(可能=0 直接读成空包,或=洞前边界)。所有遍历上界一律 Player
结合你给的“先做可验收闭环、再逐步扩展”的思路,目前优先级需要重新调整。不能继续围绕学生AI不断增加特殊判断。当前主要矛盾已经变成:> 玩家动态建造了教室、厕所、操场,但老师、学生、保洁还不能根据房间能力和校园活动自动领取正确任务。因此,推荐实施顺序不是简单的:```text房间能力服务 -> 活动服务 -> 任务服务 -> 人员调度```而是把它们拆成几个**可以直接看到、可
核心功能携带模式(点击物品跟鼠标)下:≤8格:点击小人直接赠送(金色边框)>8格:点击远距离小人 → 自动寻路走向目标 → 到达8格内自动赠送取消:玩家按方向键/WASD/摇杆手动移动 → 立即取消,恢复物品关键经验(3条踩坑教训)经验1:类型标识不是中文,是英文枚举值地图编辑器放置的角色 type/job 字段是英文标识(teacher_3、doctor、cleaner_2、tea