繁体   English   中英

向左或向下移动精灵比向右或向上移动精灵快

[英]Moving a sprite to the left or down is faster than moving it to the right or up

我正在用Slick2DLWGJL制作基本游戏,但遇到一个奇怪的问题,当我将播放器(图像)向左/向下移动时,它比向右/向上移动的速度慢。

Input input = gc.getInput();

    if(input.isKeyDown(Input.KEY_W)){
        PlayerY += delta * .1f;
    }
    if(input.isKeyDown(Input.KEY_S)){
        PlayerY -= delta * .1f;
    }

    if(input.isKeyDown(Input.KEY_A)){
        PlayerX -= delta * .1f;
    }
    if(input.isKeyDown(Input.KEY_D)){
        PlayerX += delta * .1f;
    }

所有这些代码都在方法update()中

编辑:我的所有代码都可以在这里查看https://www.dropbox.com/sh/p13sbxucmni36vd/K5XTaNOulm

任何帮助将不胜感激

  //Setting the original PlayerX and PlayerY values
    private static int PlayerX = Game.ScreenLength/2;
    private static int PlayerY = Game.ScreenHeight/2; 

VS

   if(input.isKeyDown(Input.KEY_W)){
        PlayerY += delta * .1f;
    }
    if(input.isKeyDown(Input.KEY_S)){
        PlayerY -= delta * .1f;
    }

    if(input.isKeyDown(Input.KEY_A)){
        PlayerX -= delta * .1f;
    }
    if(input.isKeyDown(Input.KEY_D)){
        PlayerX += delta * .1f;
    } 

看到问题了吗? 更改PlayerX和PlayerY(以防万一也要使用Delta)以浮动,您的问题将得到解决。 请记住,当您从float转换为int时,它总是会舍入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM