0

我应该在游戏对象中放置什么作为 self 的字段和方法?我应该将位置和速度作为字段吗?我应该把什么方法放在self中?ob的字段应该是什么?我应该把速度和位置作为

self.velocity = vmath.vector3()

或类似的东西

go.velocity = vmath.vector3()

4

1 回答 1

1

self对象是脚本实例值的 Lua 用户数据存储。你放什么完全取决于你。存储值的好处selfself对象被传递给脚本的所有生命周期函数(init、final、update、on_input、on_message、on_reload)。这意味着您可以快速访问所有函数中的变量。

将速度存储在 self 中是一个很好的示例,您可能希望在脚本的不同位置访问和修改它。例如,在按下按钮时将速度设置为 on_input 中的某个值,然后在更新中使用相同的速度值来移动对象。

go.velocity = vmath.vector3()

情况不妙。您在那里所做的是将变量分配给velocity全局可访问的go.*命名空间,其中包含引擎提供的函数来操作游戏对象。

于 2020-05-17T08:23:15.213 回答