java - Jinput init 的 Controller up 和 left 为 true

标签 java jinput

我尝试在这个简单的代码上使用它,JInput 使 Controller 自动向上和向左!看起来 input.isControllerUp(Input.ANY_CONTROLLER) 开始是正确的!我该如何解决这个问题?

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.Color;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;


public class Test1 extends BasicGame{
    float x = 300;
    float y = 300;

    public Test1()
    {
        super("Controller Test 1");
    }

    @Override
    public void init(GameContainer gc) 
            throws SlickException {
    }

    public void updateControler(GameContainer gc){
        Input input = gc.getInput();


            System.out.println("input.isControllerUp(Input.ANY_CONTROLLER)" + input.isControllerUp(Input.ANY_CONTROLLER));

            if(input.isKeyDown(Input.KEY_UP) || input.isControllerUp(Input.ANY_CONTROLLER)) {
                y--;
            }

            else if(input.isKeyDown(Input.KEY_DOWN) || input.isControllerDown(Input.ANY_CONTROLLER)) {
                y++;
            }

            else if(input.isKeyDown(Input.KEY_LEFT) || input.isControllerLeft(Input.ANY_CONTROLLER)) {
                x--;
            }

            else if(input.isKeyDown(Input.KEY_RIGHT) || input.isControllerRight(Input.ANY_CONTROLLER)) {
                x++;
            }
    }

    @Override
    public void update(GameContainer gc, int delta) 
            throws SlickException     
    {;
        updateControler(gc);
    }


    public void render(GameContainer gc, Graphics g) 
            throws SlickException 
    {   
        g.setColor(Color.red);
        g.fillRect(x,y,50,50);
    }

    public static void main(String[] args) 
            throws SlickException
    {
         AppGameContainer app = 
            new AppGameContainer(new Test1());

         app.setDisplayMode(800, 600, false);
         app.start();
    }
}

最佳答案

Input 不是 JInput 的类,它来自 slick 库。我直接使用JInput,没有出现类似问题。

关于java - Jinput init 的 Controller up 和 left 为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792364/

相关文章:

Java 工作目录

java - JInput 的 getPollData() 不起作用

java - 如何使用ControllerListener jinput java

java - Swing 的 GUI 指南

JavaFX DPI 感知

java - 循环中的 40 个 If 语句,如何避免?

java - 在Intellij Idea项目中使用JInput?

java - 为 iOS、Android 和桌面开发应用程序

java - 自定义 Java Tapestry @IncludeStylesheet 注释

java - 如何在 Java Swing Gui 中创建圆形且复杂的插图元素?