2015-03-22 11 views
-1

В настоящий момент у меня много материалов, но я до сих пор не могу найти ответ. Я пытаюсь это сделать - http://i.stack.imgur.com/K7CSr.pngМеню боковой панели Libgdx

У меня нет репутации для публикации фотографий, поэтому я попытаюсь объяснить. Боковое меню, которое открывается при щелчке (над экраном игры), на котором есть текст или кнопки на нем. Он должен быть прозрачным или если он не доступен только для определенного цвета. Он должен взаимодействовать с GameScreen. Я сделал исследование, но я не могу найти что-то подобное, какую-то таблицу или что-то в этом роде. Любая идея по этому вопросу?

+0

Для начала вы можете использовать ShapeRenderer для прямоугольного меню. Затем вам нужно будет добавить и удалить слушателей в зависимости от состояния щелчка меню. Состояние щелчка также будет определять альфа-значение меню и пунктов меню. – noumenal

+0

Покажите нам, что уже сделано или что вы пытались сделать. Вы не собираетесь узнавать «как», если вы не попробуете что-то самостоятельно и не прочитаете много материалов, не тренируясь, не поможете. –

+0

Прочтите на scene2d.ui (Google it) и узнайте, как создать свое меню, как показано на картинке. Затем создайте подкласс TemporalAction, чтобы изменить правую сторону таблицы. Примените его к таблице, чтобы анимировать правильное заполнение между 0 и некоторым отрицательным значением, чтобы скрыть и показать ваше меню. – Tenfour04

ответ

0

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

Вы хотите нарисовать «что-то», когда нажата кнопка. Вы можете использовать логическое значение, чтобы проверить, хотите ли вы показывать панель или нет. В вашем методе render() вы можете поместить оператор if, который нарисовал бы меню в случае showMenu == true. Меню - это не что иное, как куча изображений, которые действуют как кнопки при нажатии на указанные координаты, поэтому они должны быть точно такими же, как рисование любого другого игрового элемента. В вашем InputProcessor вы можете проверить, если showMenu == true, а затем проверить, нажал ли пользователь на какие-либо кнопки в меню, иначе, если showMenu не соответствует действительности, просто пропустите проверку кнопок меню. Когда пользователь снова нажимает кнопку show/hide, измените значение showMenu снова с true на false или false на true.

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