Не удается заставить события работать в моем libgdx Актер

Мне сложно работать с моим Actor в libgdx. Я использую ночные сборки.

Моя сцена настраивается в методе show() подкласса Screen :

 stage = new Stage(Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), true); Gdx.input.setInputProcessor(stage); TestActor actor = new TestActor(); stage.addActor(actor); 

И мой класс актера выглядит так:

 class TestActor extends Actor { private Sprite sprite; private TextureAtlas atlas; public TestActor() { atlas = new TextureAtlas(Gdx.files.internal("textures/images-packed.atlas")); sprite = atlas.createSprite("logo-96"); setTouchable(Touchable.enabled); addListener(new InputListener() { public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) { Gdx.app.debug(TestGame.TAG, "TestActor.touchDown()"); return true; // must return true for touchUp event to occur } public void touchUp (InputEvent event, float x, float y, int pointer, int button) { Gdx.app.debug(TestGame.TAG, "TestActor.touchUp()"); } }); } @Override public void draw(SpriteBatch batch, float parentAlpha) { Color color = getColor(); batch.setColor(color.r, color.g, color.b, color.a * parentAlpha); batch.draw(sprite, getX(), getY()); } } 

События, похоже, не срабатывают. Как ни странно, я использовал встроенные виджеты пользовательского интерфейса, такие как TextButton и может просто TextButton эти события. Кто-нибудь может понять, что я делаю неправильно?

Вы также должны установить Bounds для своего актера. Лучший способ сделать это (если вы хотите того же размера, что и ваша текстура), добавьте эти строки в свой конструктор:

 setWidth(sprite.getWidth()); setHeight(sprite.getHeight()); setBounds(0, 0, getWidth(), getHeight()); 

Обратите внимание, что вы также можете установить местоположение границ с первыми двумя параметрами.

Intereting Posts
Идентификатор ресурса не найден для атрибута 'showAsAction' в пакете 'android' Ресурсы по вспомогательному модулю sibling, проект Gradle Как отправить данные с одного устройства Android на другой? Ошибка «Идентификатор ресурса не найден» с образцом проекта Android Почему градиентный плагин для Android не генерирует зависимости для модуля идеи intellij Android Location.getAccuracy () возвращает 1 Установка цветов по умолчанию для Android-библиотеки Как получить локализованный ярлык типов телефонов? Как выполнить резервное копирование Realm DB в Android перед удалением файла Realm. Есть ли способ восстановить файл резервной копии? Получите массив JSON от перенастройки Response Android listview viewholder. Когда его использовать, а когда нет Android CardView с пользовательским цветом тени Идентификатор вызывающего абонента Android Binder Как перезагрузить эмулятор в режим восстановления Настроить вид флажка starStyle