내가 뭘 잘못하고 있는지 모르겠다. 나는 player.draw() 함수에서 오류를 얻고있다. 그 이야기가 love.graphics.rectangle() 메소드에 있다는 잘못된 주장. 그것은 v.x가 나쁜 논쟁이라고 말하는 것입니다. 그러나 그것은 효과가 있어야합니다. v.x와 v.y 모두 작동해야합니다. 테이블 또는 배열 내의 요소에 대한 액세스 필드가 올바르므로 누군가 내가 뭘 잘못하고 어떻게 해결할 지 말해 줄 수 있습니까? 많은 감사!love2D 오류 : 잘못된 인수 # 2 'rectangle'(숫자가 예상 됨, nil이 붙음)
require "scripts.player"
width = love.graphics.getWidth()
block = {}
block.width = 60
block.height = 10
block.speed = 150
block.timer = 0
block.timerLim = math.random(1,2)
block.spawnX = math.random(0, width - player.width)
function block.spawn(x,y)
table.insert(block, {x = x, y = y})
end
function block.move(dt)
for i,v in ipairs(block) do
v.y = v.y + block.speed * dt
end
end
function block.draw()
for i,v in ipairs(block) do
love.graphics.setColor(255,0,255)
love.graphics.rectangle("fill", v.x, v.y, block.width block.height)
end
end
function block.spawnHandler(dt)
block.timer = block.timer + dt
if block.timer > block.timerLim then
block.spawn(spawnX, -10)
block.timer = 0
block.timerLim = math.random(1,2)
block.spawnX = math.random(0, width - block.width)
end
end
-- Parent Functions --
function DRAW_BLOCK()
block.draw()
end
function UPDATE_BLOCK(dt)
block.move(dt)
block.spawnHandler(dt)
end
와우 효과가 있습니다. 정말 고마워! –