我应该在游戏对象中放置什么作为 self 的字段和方法?我应该将位置和速度作为字段吗?我应该把什么方法放在self中?ob的字段应该是什么?我应该把速度和位置作为
self.velocity = vmath.vector3()
或类似的东西
go.velocity = vmath.vector3()
该self
对象是脚本实例值的 Lua 用户数据存储。你放什么完全取决于你。存储值的好处self
是self
对象被传递给脚本的所有生命周期函数(init、final、update、on_input、on_message、on_reload)。这意味着您可以快速访问所有函数中的变量。
将速度存储在 self 中是一个很好的示例,您可能希望在脚本的不同位置访问和修改它。例如,在按下按钮时将速度设置为 on_input 中的某个值,然后在更新中使用相同的速度值来移动对象。
go.velocity = vmath.vector3()
情况不妙。您在那里所做的是将变量分配给velocity
全局可访问的go.*
命名空间,其中包含引擎提供的函数来操作游戏对象。