会发生什么:我需要self.key在按键和按键之间切换。
显然,这发生在本地级别(如果我取消注释“if”子句,打印按键按下),当我需要的是它实际更改键对象的值。
keys = {}
keys.escape = false
keys.space = false
function keys:pressed()
for key in pairs(self) do
self.key = love.keyboard.isDown(key)
--if self.key then print(key) end
end
end
function love.update()
keys:pressed()
end
关于如何修复它的任何想法?
答案 0 :(得分:5)
您的问题与此无关,这是因为您正在设置'key'
索引。不是个人密钥的索引......如果这是有道理的。
基本上,当您设置self.key
时,key
是字符串。不是循环变量。为了设置你需要用方括号将其编入索引。
这就是我的意思:
keys = {}
keys.escape = false
keys.space = false
function keys.pressed(self)
for key in pairs(self) do
self[key] = love.keyboard.isDown(key)
--if self.key then print(key) end
end
end
function love.update()
keys:pressed()
end
这样我们使用变量 key
而不是字符串'key'