2016-06-25 12 views
1

Ich versuche, ein ziehbares Bild zu machen, kann immer noch nicht das Ergebnis bekommen. Das Bild springt auf der Y-Achse, wenn ich darauf klicke.Ziehen Bild beheben (LibGDX)

Mein Codierung Versuch:

public class MyGdxGame extends ApplicationAdapter { 

SpriteBatch batch; 
Texture img; 
Sprite sprite; 
float offsetX; 
float offsetY; 

@Override 
public void create() { 
    batch = new SpriteBatch(); 
    img = new Texture("badlogic.jpg"); 
    sprite = new Sprite(img); 
    sprite.setPosition(200,200); 

} 

@Override 
public void render() { 
    Gdx.gl.glClearColor(1, 0, 0, 1); 
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

    batch.begin(); 
    sprite.draw(batch); 
    batch.end(); 

    if (Gdx.input.justTouched()) { 

     offsetX = Gdx.input.getX() - sprite.getX(); 
     offsetY = Gdx.input.getY() - (Gdx.graphics.getHeight() - (sprite.getY() + sprite.getHeight())); 

    } 

    if (Gdx.input.isTouched()){ 

     sprite.setPosition(Gdx.input.getX() - offsetX, (Gdx.graphics.getHeight() - Gdx.input.getY()) - offsetY); 

    } 

} 

} 

Dies ist das Ergebnis erhalte ich:

example

Wie kann ich das Problem beheben?

Antwort

1
offsetY = Gdx.graphics.getHeight() - Gdx.input.getY() - sprite.getY(); 

funktionieren sollte