按住空格就近捡拾地上资源
05/10综合
空格键拾取功能已实现,变更总结:
DropSystem.lua — 新增 FindNearest(worldX, worldY, maxRadius) 方法
在指定位置、自定义半径范围内查找最近的落地掉落物
默认半径使用 PICKUP_RADIUS(60px),空格拾取传入 TILE_SIZE * 1.5 的更大范围
main.lua — 新增空格键持续拾取
新增 pickupCooldown_ 变量,0.25 秒冷却防止连续拾取过快
在 Update 函数中检测 input:GetKeyDown(KEY_SPACE)(按住持续触发)
获取玩家当前位置 → FindNearest 查找附近掉落物 → 发送服务端拾取请求 + 客户端标记已拾取
使用方式:砍树后木头掉落在地面,站在附近按住空格即可持续拾取,每 0.25 秒拾取一个。
main.lua — 两级搜索半径
第一级:TILE_SIZE * 1.5(脚下附近),优先拾取最近的
第二级:TILE_SIZE * 3(9 宫格范围),近处捡完后自动扩大搜索
超出 3 格范围的掉落物不会被空格拾取,玩家需要走过去
现在空格拾取的行为是:
第一级(1.5 格内):脚下直接拾取,角色转向面对掉落物,每 0.5 秒一个
第二级(1.5~3 格):角色自动走向掉落物,到达后拾取。行走期间不会触发新的拾取(IsAutoWalking() 检测)
超过 3 格:不响应空格,需要玩家自己走过去


