【发布时间】:2022-01-05 08:36:03
【问题描述】:
我正在制作一个关于在太空中躲避子弹的 2d 游戏。我正在尝试这样做,子弹会在屏幕顶部的随机位置产生并落到底部,这样玩家就可以躲避它们。 到目前为止,这是我的代码:
function love.load()
timer = 0
background = love.graphics.newImage("space_background.png")
bullet = {
x = 300,
y = 0,
image = love.graphics.newImage("bullet.png"),
width = love.graphics.getWidth(image),
height = love.graphics.getHeight(image),
speed = 10 }
listOfBullets = {}
car = {
x = 100,
y = 100,
size = 5,
angle = 0,
image = love.graphics.newImage("classic_car.png")
}
end
function love.update(dt)
timer = timer + dt
if love.keyboard.isDown("left") then
car.x = car.x - 200 * dt
end
if love.keyboard.isDown("right") then
car.x = car.x + 200 * dt
end
if love.keyboard.isDown("up") then
car.y = car.y - 200 * dt
end
if love.keyboard.isDown("down") then
car.y = car.y + 200 * dt
end
car.angle = car.angle + 1 * dt
if love.keyboard.isDown("r") then
timer = 0
car.x = 100
car.y = 100
car.angle = 0
end
table.insert(listOfBullets, math.random(1, 799), bullet.y)
for i,v in ipairs(listOfBullets) do
v:update(dt)
end
end
function love.draw()
love.graphics.draw(background, 0, 0)
love.graphics.print({"Score: " .. math.floor(timer), white}, 20, 550, 0, 2)
love.graphics.draw(car.image, car.x, car.y,
car.angle, 1, 1, car.image:getWidth()/2, car.image:getHeight()/2)
for i,v in pairs(listOfBullets) do
love.graphics.print(v, 100, 100)
end
end
每次我尝试运行该程序时,它都会给我同样的错误,我不知道这是什么意思或如何解决它:
错误
main.lua:77: 尝试索引本地 'v'(一个数值)
追溯
main.lua:77: 在函数“更新”中
[C]:在函数'xpcall'中
谁能帮帮我?
【问题讨论】: