私は単純なことに問題があります - 私は俳優のためにドラッグインテントしようとしていますが、私は奇妙な効果を見ます - 私は俳優をドラッグしようとすると点滅を開始し、ここでは短いビデオです:https://youtu.be/KpGujQ7KHc0touchDraggedで奇妙な振る舞い
俳優は単純です:
public class Item extends Actor {
private String id;
private TextureRegion texture;
public Item() {
this.id = "passport";
texture = PicturesData.getPicture(getId());
setSize(texture.getRegionWidth(), texture.getRegionHeight());
addListener(new DragListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
return true;
}
@Override
public void touchDragged(InputEvent event, float x, float y, int pointer) {
Log.add("Dragged: " + x + ", " + y);
setPosition(x, y);
}
});
}
public String getId() {
return id;
}
@Override
public void draw(Batch batch, float parentAlpha) {
batch.draw(texture, getX(), getY());
}
}
画面があまりにも基本的なものです:
public class GameScreen implements Screen {
private Stage stage;
public GameScreen() {
stage = new Stage(new StretchViewport(800, 600));
Gdx.input.setInputProcessor(stage);
Item item = new Item();
stage.addActor(item);
}
@Override
public void show() {
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
stage.act(delta);
stage.draw();
}
@Override
public void resize(int width, int height) {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void hide() {
}
@Override
public void dispose() {
}
}
私はそれが起こっている理由は分からない、あなたは私を助けてくださいだろうか?
このアクタの位置が変更されたコードの他の場所はありますか? –
いいえ。画面コードで投稿を更新しました。それはかなり基本的です。 – Pasha