Love2D动画错误

我遇到了我的角色运动动画的一个恼人的错误。这个错误是,每当我运行代码时,动画只在“W”键上工作。(移动是WASD)。我没有收到任何编译错误,并且我正在使用Love2D 0.10.1

以下是移动处理程序函数

   function player.move(dt)
       if love.keyboard.isDown("d") and
       player.xvel < player.speed then
          player.xvel = player.xvel + player.speed * dt
          player.image = love.graphics.newImage("images/player/walk1.png")
       else
          player.image = love.graphics.newImage("images/player/static.png")
       end

       if love.keyboard.isDown("a") and
       player.xvel > -player.speed then
          player.xvel = player.xvel - player.speed * dt
          player.image = love.graphics.newImage("images/player/walk1.png")
       else
          player.image = love.graphics.newImage("images/player/static.png")
       end

       if love.keyboard.isDown("s") and
       player.yvel < player.speed then
          player.yvel = player.yvel + player.speed * dt
          player.image = love.graphics.newImage("images/player/walk1.png")
       else
          player.image = love.graphics.newImage("images/player/static.png")
       end

       if love.keyboard.isDown("w") and
       player.yvel > -player.speed then
          player.yvel = player.yvel - player.speed * dt
          player.image = love.graphics.newImage("images/player/walk1.png")
       else
          player.image = love.graphics.newImage("images/player/static.png")
       end

    end

任何帮助都可以!哦,还有,如果有人知道如何使它在x秒钟内达到特定帧,那就太好了!谢谢!

点赞
用户1831096
用户1831096

我能够提出解决动画问题的一种方法,即仅在关键字“d”处使用“if”,而在其他情况下使用“elseif”。问题是如果按下除“w”以外的任何其他键,则切换会进入“else”部分,因为“w”未按下,在“else”部分中它将图像设置为“static.png”。

在这里,您可以了解Lua的“if-elseif-else-end”控件结构:

http://www.lua.org/pil/4.3.1.html

http://www.tutorialspoint.com/lua/if_else_statement_in_lua.htm

请注意,某些语言使用“else if”,但是在Lua中没有空格,因此应写为“elseif”。

2016-01-17 01:25:32