Java 用你的触摸移动相机
这也是我尝试去做的,但是它不稳定Java 用你的触摸移动相机,java,android,libgdx,Java,Android,Libgdx,这也是我尝试去做的,但是它不稳定 @Override public void create () { camera = new OrthographicCamera(); camera.setToOrtho(false, 800, 480); batch = new SpriteBatch(); img = new Texture("asd.jpg"); } @Override public void render () { Gdx.g
@Override
public void create () {
camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);
batch = new SpriteBatch();
img = new Texture("asd.jpg");
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
if(Gdx.input.isTouched()){
camera.position.x = Gdx.input.getX();
camera.position.y = Gdx.input.getY();
}
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
batch.draw(img, 0, 0);
batch.end();
}
我可以用这个代码在屏幕上移动相机,但我想我会用手指移动相机,然后我会松开手指,在我重新触摸屏幕后,我会继续移动相机
总而言之,我想用我的手指漫游大图像
谢谢:以后,请花时间格式化您的代码。这一次我为你做了,但它使它更具可读性,人们也更可能真正阅读你的文章。还有,你的问题是什么?你所说的都是你想要的东西。到目前为止,您试图实现这个目标的是什么?我试图将其放入代码中,但它显示了一个奇怪的问题。此外,我还添加了我的尝试:
if(Gdx.input.isTouched()){
if(!nowOn){
asd.x = camera.position.x + Gdx.input.getX() * -1;
asd.y = camera.position.y + Gdx.input.getY();
camera.position.x = asd.x;
camera.position.y = asd.y;
}
}else{
if(nowOn){
nowOn = false;
asd.x = Gdx.input.getX() + camera.position.x;
asd.y = Gdx.input.getY() + camera.position.y;
}
}