Lua说这些变量是数字,但我不能用它们在Love2d中做一个圆



edit:严重错误,只是忘记提供radius lol。感谢您的帮助:(

我对这件事感到很困惑。我很确定我的代码的所有部分都能工作,但由于某种原因,尽管在屏幕上显示了xy坐标,并使用type()来显示它们是数字,但Love2D并没有打印它们。

function love.load()
window = {}
window.x, window.y = love.graphics.getDimensions()
enemies = {}
end
function newenemy()
x = math.random(0, window.x)
y = math.random(0, window.y)
table.insert(enemies, {x = x, y = y, speed = 5})
end
function love.update(dt)
newenemy()
for i=#enemies, 1, -1 do
local angle = math.atan((love.mouse.getY()-enemies[i]['y'])/(love.mouse.getX()-enemies[i]['x']))
if love.mouse.getX() < enemies[i]['x'] then angle = angle + math.pi end
enemies[i]['x'] = enemies[i]['x'] + math.cos(angle)*enemies[i]['speed']
enemies[i]['y'] = enemies[i]['y'] + math.sin(angle)*enemies[i]['speed']
end
end
function love.draw()
for i=1, #enemies do 
love.graphics.print('('..enemies[i]['x']..','..enemies[i]['y']..')')
love.graphics.circle('fill', enemies[i]['x'], enemies[i]['y'])
end 
end

为了显示实际数字,我一直在注释画圆圈的线,并在屏幕上移动光标时观察数字的变化。我真的不知道发生了什么。这段代码来自我为之编写的一个更大(约400行(的脚本,我认为变量有一些错误,但它似乎仍然出现在30行代码中。

Error
main.lua:27: bad argument #4 to 'circle' (number expected, got no value)

Traceback
[C]: in function 'circle'
main.lua:27: in function 'draw'
[C]: in function 'xpcall'

注意错误

main.lua:27: bad argument #4

谈到第四个论点,其中您只提供

三个love.graphics.circle的第四个自变量是圆的半径

love.graphics.circle('fill', enemies[i]['x'], enemies[i]['y'], 10)

最新更新