2016-06-25 3 views
1

Я пытаюсь сделать перетаскиваемое изображение, все еще не могу получить результат. Изображение нажимает на ось Y, когда я нажимаю на нее.Перетаскивание изображения (libGDX)

Моя попытка кодирования:

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); 

    } 

} 

} 

Это результат я получаю:

example

Как я могу это исправить?

ответ

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

должны работать

Смежные вопросы