Lua-eventData访问模式
概述
UrhoX 基于 tolua++ 绑定的事件系统中,eventData 的访问需要使用类型转换方法(GetInt()/GetFloat() 等),支持索引和键名两种调用方式。
关键内容
- 三种正确访问方式:
eventData["X"]:GetInt()(索引+类型方法);eventData["TimeStep"]:GetFloat()(索引+类型方法);eventData:GetInt("X")(键名+类型方法,更高效)。 - 常用事件字段:
TimeStep(delta time,用GetFloat());X/Y等坐标值(用GetInt()或GetFloat())。完整事件字段定义见.emmylua/Events.d.lua。 - 常见错误:直接访问
eventData["X"]返回的是 tolua++ 包装对象,不是原生 Lua 值,必须调用类型转换方法。错误用法会导致attempt to call method 'GetInt'或类型不匹配。
来源
- raw/articles/personal/ai-dev-kit/CLAUDE.md — UrhoX Lua AI 开发指南,规则 #3