【发布时间】:2016-11-15 05:34:25
【问题描述】:
伙计们,基本上我在 Lua 的不同位置(不想在这里发布所有代码)有这段代码。我想在love2d上做一个游戏。我的问题是:我的弹丸总是朝一个方向前进。我什至制作了 projectile.animnumber 但它仍然可以朝 1 个方向前进。有什么办法可以拆分这个庞大的。 (我是新手,所以不要喷我太多)
projectile = {}
projectile.width = 30
projectile.height = 32
projectile.animNumber = 1
function love.keyreleased(key)
if (key == "space") then
shoot()
love.audio.play(magic_shotSND)
if player.animNumber == 1 then
projectile.animNumber = 1
elseif player.animNumber == 2 then
projectile.animNumber = 2
elseif player.animNumber == 3 then
projectile.animNumber = 3
else
projectile.animNumber = 4
end
end
end
-----
for i,v in ipairs(player.shots) do
if projectile.animNumber == 1 then
v.x = v.x + 300 * dt
elseif projectile.animNumber == 2 then
v.x = v.x - 300 * dt
elseif projectile.animNumber == 3 then
v.y = v.y + 300 * dt
else
v.y = v.y - 300 * dt
end
end
----
function shoot()
local shot = {}
shot.x = player.x - 16
shot.y = player.y - 8
table.insert(player.shots, shot)
end
for i,v in ipairs(player.shots) do
love.graphics.draw(skull, v.x, v.y)
end
【问题讨论】:
-
可能,您有两个不同的
projectile表? -
什么是“弹丸”?这是在您的代码中编写的随机单词。我认为你的意思是从 shoot() 中返回射弹
-
射弹是一个物体。我用它来描述行为。忘记添加了。 projectile = {} projectile.width = 30 projectile.height = 32 projectile.animNumber = 1
-
玩家 animnumber 是我用来识别玩家最后移动方向的变量,因此他将使用正确的角度进行动画。
标签: animation lua directions love2d projectile