java - 碰到窗口边缘时的字符碰撞

标签 java slick2d

当我的角色碰到 window 边缘时,我很难让其停下来。 这是我的更新方法。

public void update(GameContainer gc, StateBasedGame sbg, int delta)
    {
        Input input = gc.getInput();
        playerX += VelocityX;

        gc.setShowFPS(Splash.showFps);

        if(input.isKeyPressed(Input.KEY_F1))
        {
            Splash.showFps = !Splash.showFps;
        }

        if (input.isKeyDown(Input.KEY_RIGHT))
            VelocityX = 10;
        else if (input.isKeyDown(Input.KEY_LEFT))
            VelocityX = -10;
        else if (playerX >= 700)
            VelocityX = 0;
        else
        {
            VelocityX = 0;
        }

    }

我意识到正在向左走,因为我还没有编码,但角色从右侧离开了屏幕

最佳答案

 if (input.isKeyDown(Input.KEY_RIGHT)){
        VelocityX = 10;}
    else if (input.isKeyDown(Input.KEY_LEFT)){
        VelocityX = -10;}
    else{VelocityX = 0;}
    if (playerX >699){
        playerX=699;
        VelocityX = 0;}
    else if(playerX<1){
         playerX=1;VelocityX = 0;
         }

关于java - 碰到窗口边缘时的字符碰撞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16805016/

相关文章:

Java SuperCSV CsvBeanReader 尽管出现错误仍继续

java - 在 for 循环 JAVA 中定义方法

java - 如何创建不同颜色的文本

java - 在 slick2d 中设置 delta 的最大值和最小值

java - Slick2D:构造函数与 init

java - Android 保存/重写文件到 SD 卡

java - 用 Java 解析 IBM 服务器错误消息

java - slick2d 整数和键盘输入

java - 在整个 Java 应用程序中捕获异常

java - 如何在 lwjgl/slick2D 中使用系统鼠标光标(如 Cursor.TEXT_CURSOR)