有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何处理文本区域中的多个字符串

我目前正在开发一个游戏来教孩子们编码。我的问题是,我只能“访问”或使用文本区域中的第一个字符串。我想实现一个解决方案,运行textarea作为我的游戏参与者的操作

public void show() {
    spriteBatch = new SpriteBatch();
    texture = new Texture(Gdx.files.internal("images/player.png"));
    sprite = new Sprite(texture);
    camera = new OrthographicCamera();
    camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
    camera.update();
    //player = new playerClass(1, 1);
    gameMap = new TiledGameMap();
    textInputField = new TextInputField();
    sprite.setSize(32,32);
    sprite.setX(2*32);
    sprite.setY(2*32);
    touch.set(sprite.getX(),sprite.getY());


    textInputField.textButton.addListener(new ClickListener(){
        @Override
        public void clicked(InputEvent e, float x, float y){
            for (String line : textInputField.textArea.getText().split("\\n")){
            textInputField.textButton.setText("Compiling!");



            String textStr = textInputField.textArea.getText();
            Matcher matcher = Pattern.compile("\\d+").matcher(textStr);
            matcher.find();
            int i = Integer.valueOf(matcher.group());


                textStr = line;
                if(line.equals("walk("+ i + ");")) {
                    touch.set(sprite.getX()+i*32,sprite.getY());
                    System.out.println(i);

                }
                if(line.equals("walk -"+ i)) {
                    touch.set(sprite.getX()+-i*32,sprite.getY());
                    System.out.println(i);
                }

共 (0) 个答案