[英]Love2D Lua error: attempt to call field 'isDown' (a nil value)
這是我在Love2D中的代碼:
function love.load()
ninja = love.graphics.newImage("Ninja.png")
x = 0
y = 0
speed = 256
end
function love.update(dt)
if love.keyboard.isDown("right") then
ninja = love.graphics.newImage("NinjaRight.png")
x = x + (speed * dt)
end
if love.keyboard.isDown("left") then
ninja = love.graphics.newImage("NinjaLeft.png")
x = x - (speed * dt)
end
if love.keyboard.isDown("down") then
y = y + (speed * dt)
end
if love.keyboard.isDown("up") then
y = y - (speed * dt)
end
if love.joystick.isDown(joystick, 1, 2, 3, 4) then
a = 5
end
end
function love.draw()
love.graphics.draw(ninja, x, y)
end
我想使游戲在連接時能夠識別控制器。 但是當我運行游戲時,我收到錯誤消息:
嘗試調用字段“ isDown”(nil值)
問題出在哪兒?
由於LÖVE 0.9.0
與操縱桿相關的isDown()
函數已移至另一個namespace
/ table
/您可以命名ir或更多“對象”之類的結構。 [1]
因此,在您的代碼中,您應該使用如下代碼:
--Get table of all connected Joysticks:
local joysticks = love.joystick.getJoysticks()
--Pick first one:
local joystick = joysticks[1]
if joystick:isDown(1, 2, 3, 4) then
a = 5
end
其中joystick
是您的Joystick
對象。 [2]
請注意, love.keyboard.isDown()的用法尚未更改。 但是,我想也是。 遲早。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.