我刚刚开始使用java和libgdx并拥有此代码,非常简单,它将一个精灵打印到屏幕上。这很好,我从中学到很多东西。如何使用libGDX使用键盘按键移动精灵?
package com.MarioGame;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.InputProcessor;
public class Game implements ApplicationListener {
private SpriteBatch batch;
private Texture marioTexture;
private Sprite mario;
private int marioX;
private int marioY;
@Override
public void create() {
batch = new SpriteBatch();
FileHandle marioFileHandle = Gdx.files.internal("mario.png");
marioTexture = new Texture(marioFileHandle);
mario = new Sprite(marioTexture, 0, 158, 32, 64);
marioX = 0;
marioY = 0;
}
@Override
public void render() {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
batch.begin();
batch.draw(mario, marioX, marioY);
batch.end();
}
@Override
public void resume() {
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void dispose() {
}
}
我将如何修改marioX
值,当用户按下了键盘上D
?
怎么来dominicbri7使用KeyListener接口?你使用了InputProcessor?他们之间有什么区别吗? – dotty 2011-04-29 14:37:24
@dotty'KeyListener'是一个java(native)类。而'InputProcessor'是一个GDX类。根据我的经验,当我使用引擎时总是使用所有的引擎。 – jotapdiez 2011-04-29 14:58:26