我想引用一个整数,但引用应该在一个表内。目标是自动字符串格式化功能,每帧更新值。
>> num = 5
>> table = {}
>> table[1] = num
>> num = 10
>> print(table[1])
>> 5
如果我运行这个值 num 只会被复制,但我需要一个参考。我现在正在用 lua löve2D 库编写游戏。这是我的代码的摘录:
function StringDrawSystem:draw()
for index, entity in pairs(self.targets) do
local str = entity:getComponent("StringComponent")
love.graphics.setFont(str.font)
local position = entity:getComponent("PositionComponent")
love.graphics.print(string.format(str.string, unpack(str.values)), position.x, position.y)
end
end
str.values
是一个应该包含对所需值的引用的表。这些价值观不一定是全球性的。
entity:getComponent("StringComponent") -- is equal to
entity.components.StringComponent -- StringComponent is just
-- a component added to the entity
StringComponent 是一个具有 3 个字段的简单类。
StringComponent = class("StringComponent")
function StringComponent:__init(font, string, values)
self.font = font
self.string = string
self.values = values
end