ну у меня получилось добавить кнопку, но смотря на код и в диспетчер задач есть подозрение, что я сделал что-то не так. Кто-нибудь может объяснить, как добавить кнопку с изображением, изменением самого изображения при нажатии и вызовом метода, соответственно, учитывая, что все нажатия обрабатываются в классе Control, спасибо
Cкины в Libgdx.
Скины это расширение Scene2D для более удобного управления интерфейсом. Это расширение мы и будем использовать для создания красивой кнопки:) (но можно и не только для кнопки). Каждый виджет из Scene2D имеет вложенный класс стиля (например, возьмем ImageButton, если посмотреть внутрь этого класса, в нем будет класс стиля ImageButtonStyle.
Класс стиля виджетов описывает, как будет выглядеть виджет в разных ситуациях, например, когда мышка находится над ним.
Вернемся к скинам. Скины - это скрипты, которые описывают стили используемых виджетов. Чтобы создать скин, создайте json файл (например, defaultUI.json) в папке assets/skins.
Далее впишите туда следующее:
{
"com.badlogic.gdx.scenes.scene2d.ui.ImageButton$ImageButtonStyle": {
"default-button":
{
"imageUp": "default_button_up",
"imageOver": "default_button_over"
}
},
}
Теперь опишу, что это значит.
"com.badlogic.gdx....." - путь к стилю, который вы хотите использовать. Если вам нужна кнопка - картинка, то вы будете использовать стиль из примера.
"default-button" - это название стиля. Оно будет нужно в коде, чтобы придать кнопке стиль.
"imageUp и imageOver" - это сами значения стиля. Им задаются картинки, которые назначаются в разных ситуациях. Например, "imageUp": "default_button_up" - использовать картинку с именем default_button_up по дефолту для кнопки. "imageOver" - то, какую картинку использовать, если мышка над вашей кнопкой. Какие еще можно использовать параметры - гугл в помощь. Для кнопки все параметры тут.
Теперь, когда мы создали скин, нам нужно создать атлас с картинками для скина. Я этот момент опущу, тк думаю вы уже сами знаете, как делать атласы, но если что - пишите, дополню ответ.
Когда мы создали атлас и скин, нам нужно их связать в коде. Сделать это можно следующим образом:
public static TextureAtlas DEFAULTUI_TEXTUREATLAS = new TextureAtlas("тут путь к атласу, пример (skinAtlas.atlas)";
public static Skin DEFAULTUI_SKIN = new
Skin(Gdx.files.internal("skins/defaultUI.json"), DEFAULTUI_TEXTUREATLAS);
На этом всё, можно использовать скин. Пример создания кнопки:
ImageButton menuButton= new ImageButton(DEFAULTUI_SKIN, "default-button");
Если какой-то этап не понятен, пишите, дополню ответ. Примерно так делается интерфейс в Libgdx.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Насколько знаю, для разных языков программирования существует достаточно много всяких библиотечек и фреймворков, позволяющих реализовать...
Мне нужно задать полином 2-го порядка от 3 неизвестных, взять от него производную 1-го порядка, а так же найти значения этих функций на некотором...
Хотите улучшить этот вопрос? Update the question so it's on-topic for Stack Overflow на русском
Подскажите, как сделать return int массива в виде строки без [ , , , ] имею [100, 180, 90, 56, 65, 74, 68, 86, 99, 555555] нужно 100 180 90 56 65 74 68 86 99 555555