【问题标题】:Love2D Animation ErrorLove2D 动画错误
【发布时间】:2016-04-13 21:43:00
【问题描述】:

我的角色移动动画有一个烦人的错误。该错误是,每当我运行代码时,动画仅适用于“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 秒到达某个帧,那就太好了!谢谢!

【问题讨论】:

    标签: animation lua love2d


    【解决方案1】:

    我可以针对动画问题提出的一个解决方案是仅在键 d 处使用 if,在其他情况下使用 elseif。问题是由于如果按下任何其他键,但w 没有按下,那么

    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
    

    switch进入else部分,因为w没有down,而在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

    【讨论】:

      猜你喜欢
      • 2018-11-18
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 2016-12-09
      • 1970-01-01
      • 2013-12-28
      • 2021-12-21
      • 2012-07-17
      相关资源
      最近更新 更多