Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

exenza

  • 38
    вклад
  • 0
    вопросов
  • 45
    ответов
  • 58%
    решений
Ответы
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Насколько актуален LibGDX?

    exenza @exenza
    Проект LibGDX до сих пор активно развивается, уже с новой командой разработчиков. У них даже сайт новый - libgdx.com, вместо старого badlogicgames.com.
    Хотя книги и видео уроки не самые свежие (неправда, судя по отзывам - неплохая серия), но думаю что там не сильно уж что-то поменялось. Самый лучший конечно вариант читать доку на сайте и вики на гитхабе. А еще у них хорошее комьюнити с дискордом.
    Ну и не такой уж это и хардкор. В юнити, конечно все собрано в одном месте и под рукой для удобства разработки. Но LibGDX тоже отлично подходит, если хочется использовать JVM язык
    Ответ написан более двух лет назад
    1 комментарий
    1 комментарий
  • Обработка координат кнопки?

    exenza @exenza
    Думаю, что нужна проверка на попадание в кнопку (координаты и размеры кнопки известны)
    Вообще, в libgdx такие вещи легче делать со Stage
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему Shaperenderer не хочет изменять прозрачность?

    exenza @exenza
    А что вообще рендерится? Прямоугольник рисуется?

    Трудно так сразу сказать - все-таки не понятно откуда этот `disappearingTentacle` вызывается и много остального не показано. Попробуйте упростить и подебажить.
    В качестве отправной точки вот простенький рабочий пример:
    package com.mygdx.game;
    
    import com.badlogic.gdx.ApplicationAdapter;
    import com.badlogic.gdx.Gdx;
    import com.badlogic.gdx.graphics.Color;
    import com.badlogic.gdx.graphics.GL20;
    import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
    
    public class RectrenderTest extends ApplicationAdapter {
        private ShapeRenderer shapeRenderer;
        private float alpha = 1f;
        private float dAlpha = -0.5f;
        private boolean fadingOut = true;
    
        @Override
        public void create() {
            shapeRenderer = new ShapeRenderer();
        }
    
        @Override
        public void render() {
            Gdx.gl.glClearColor(1, 0, 0, 1);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    
            // Включается блендинг:
            Gdx.gl.glEnable(GL20.GL_BLEND);
            Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
            // Задается форма:
            shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
            update(Gdx.graphics.getDeltaTime());
            // Задается цвет и прозрачность alpha:
            shapeRenderer.setColor(new Color(1, 1, 1, alpha));
            // Рисуется линия:
            shapeRenderer.line(0, 0, 470, 350);
            shapeRenderer.end();
            // Выключается блендинг:
            Gdx.gl.glDisable(GL20.GL_BLEND);
        }
    
        private void update(float dt) {
            // System.out.println("dt=" + dt + ", alpha=" + alpha + ", dAlpha=" + dAlpha);
            // Если прозрачность за пределами допустимых значений, меняем направление
            if (fadingOut && alpha <= 0 || !fadingOut && alpha >= 1f) {
                dAlpha = -dAlpha;
                fadingOut = !fadingOut;
            }
            alpha += dAlpha * dt;
        }
    
        @Override
        public void dispose() {
            shapeRenderer.dispose();
        }
    }
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Прокладка пути, libgdx, tiledmap?

    exenza @exenza
    Привет. Есть libgdx-совместимая библиотека gdx-ai. В которой реализованы алгоритмы поиска путей, почитать тут и начни с теории тут. Пример применения, например, ват.
    Удачи!
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как отзеркалить текстуру в libgdx?

    exenza @exenza
    Вот такой код у меня отражает вашу текстуру слева направо:
    sb.begin();
    Texture unnamed = new Texture("unnamed.png");
    int width = unnamed.getWidth();
    int height = unnamed.getHeight();
    sb.draw(unnamed, 350, 350, width, height, 0, 0, width, height, true, false);
    sb.end();


    Но я бы предпочел спрайт:
    sb.begin();
    Texture unnamed = new Texture("unnamed.png");
    Sprite sprite = new Sprite(unnamed);
    sprite.flip(true, false);
    sprite.setCenter(700, 600);
    sprite.draw(sb);
    sb.end();
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как исправить ошибку при запуске проекта на Desktop в Android Studio при работе с libGDX?

    exenza @exenza
    У вас Android Studio 3.0?
    В соответствии с гайдом от гугл вам нужно обновить репозитори (это, наверное, корневой 'build.gradle' файл). Типа:
    buildscript {
        repositories {
            jcenter()
            google()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:3.0.0'
            ...
        }
    }
    
    allprojects {
        repositories {
            jcenter()
            google()
        }
    }
    Ответ написан более трёх лет назад
    8 комментариев
    8 комментариев
  • Markdown (README.md) Как сделать ячейку таблицы с ентером?

    exenza @exenza
    Попробуйте вставить <br> на месте переноса каретки
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Где взять нужную библиотеку для работы с SQLite?

    exenza @exenza
    SQLite не прилетает по дефолту в LibGdx, да и про такую галку я не слышал.
    Есть библиотека https://github.com/dotw/gdx-sqlite для LibGdx работы с SQLite
    stackoverflow.com/a/18576766/5007340
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как реализовать кривые линии в движке box2D?

    exenza @exenza
    Это похоже делается с помощью EdgeShape

    линк 1
    линк 2
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Почему не стартует jboss?

    exenza @exenza
    в 13 году был вот такой ответ от разрабов JB: Yes I can confirm, AS7.1.1 wont start on JDK8.
    еще:

    Yes it is normal.

    There have been some changes in JDK8 that prevent AS7 and current version of EAP6 to start under JDK8.

    We have many JDK8 related fixes in WildFly so I would recommend you to use that.
    As for EAP goes, the start up on JDK8 is fixed in upcoming 6.2 release.

    So in short, I would be more then welcome if people would test WildFly on JDK8 as we are working on making whole testsuite pass on it.

    так что если вы на JDK1.8, то попробуйте 1.7
    а вот совет как остаться на JDK1.8, коротко - использовать WildFly
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • В чем проблема Java- трансформации, преобразующей blob в pdf?

    exenza @exenza
    У меня, вот так, работает:
    Class.forName("org.h2.Driver");
    Connection conn = DriverManager.getConnection("jdbc:h2:tcp://localhost:9092/~/Downloads/h2/mydb", "sa", "");
    PreparedStatement ps = conn.prepareStatement("select PDF from FILES");
    ResultSet rs = ps.executeQuery();
    
    Blob blob = null;
    if (rs.next()) blob = rs.getBlob("PDF");
    
    if (blob != null) {
        File myPdf = new File("mypdf.pdf");
        ByteArrayInputStream is = new ByteArrayInputStream(blob.getBytes(0, (int) blob.length()));
        FileOutputStream fos = new FileOutputStream(myPdf);
        byte[] buf = new byte[is.available()];
        is.read(buf, 0, buf.length);
        fos.write(buf);
        is.close();
        fos.close();
    }


    как вариант отдебажьте свой код из какой-нить человеческой IDE, а потом запустите из Informatica (я не знаком с ней, по виду что-то древнее)
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Каким образом отличить нажатие клавиши "влево" от Num 4 с отключенным Num Lock?

    exenza @exenza
    В моем случае jnativehook отдает одинаковае keyCode, но keyRawCode - разные (версия 2.0.2):
    • Key code: 75, raw code: 65430 без NUM LOCK
    • Key code: 75, raw code: 65460 с нажатым NUM LOCK


    Пример:
    import org.jnativehook.GlobalScreen;
    import org.jnativehook.NativeHookException;
    import org.jnativehook.keyboard.NativeKeyEvent;
    import org.jnativehook.keyboard.NativeKeyListener;
    
    public class KeyEventDemo implements NativeKeyListener {
    
        public static void main(String[] args) {
            try {
                GlobalScreen.registerNativeHook();
            }
            catch (NativeHookException ex) {
                System.err.println(ex.getMessage());
                System.exit(1);
            }
    
            GlobalScreen.addNativeKeyListener(new KeyEventDemo());
        }
    
        @Override
        public void nativeKeyPressed(final NativeKeyEvent nativeKeyEvent) {
            System.out.println("Key code: " + nativeKeyEvent.getKeyCode()
                    + ", raw code: " + nativeKeyEvent.getRawCode());
        }
    
        @Override
        public void nativeKeyReleased(final NativeKeyEvent nativeKeyEvent) {}
    
        @Override
        public void nativeKeyTyped(final NativeKeyEvent nativeKeyEvent) {}
    }

    @param rawCode the hardware code associated with the native key in this event.
    Ответ написан более трёх лет назад
    8 комментариев
    8 комментариев
  • Знаете ли вы алгоритм стягивания графа?

    exenza @exenza
    Вы смотрели на алгоритм поиска минимального разреза Каргера, он основан на стягивании. Какая у вас задача? Хотите скукожить граф до 20 вершин?
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Где найти сообщество мэйкеров?

    exenza @exenza
    https://www.meetup.com/ - можно найти маркетплейсы по заданной локации, да и много других групп по интересам
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Стоит ли разрабатывать на libGDX под PC?

    exenza @exenza
    LibGDX задумывался как кроссплаформенный фреймворк с одной кодовой базой для разных устройств (изначально вообще только для Android); и он самый популярный сейчас для Java.
    У него куча разных фич, в т.ч. библиотеки работы с LWJGL, Box2D (что само по себе мощная связка) и разные утилиты.
    + Большое комьюнити.
    Вам чего-то конкретного не хватает?

    Как альтернатива может выступить Jmonkey, который хорош для 3D и не так хорош для 2D.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Есть плагин для совместного редактирования кода на IDEA?

    exenza @exenza
    Есть плагин Floobits для совместного кодинга в реальном времени. Он опенсорс и для разных редакторов. Требуется аккаунт на floobits.com.

    Вот еще интересный плагин для ревью кода revu
    Или для общения через IDE (мессенджеров им мало) IDETalk

    Я сам ничего из этого не пробовал. Все с этой страницы
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Как работать со светом в LibGDX?

    exenza @exenza
    RayHandler - класс библиотеки box2dLights
    Добавьте его в build.gradle:
    compile "com.badlogicgames.box2dlights:box2dlights:1.4"

    Вот короткий howto, а вот пример использования.
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Идти ли в QA Automation для развития как Developer?

    exenza @exenza
    Бывший колега конвертнулся из тестера (ручное тестирование) в дева очень успешно - делал backend на java, но потом ушел во frontend. У нас в конторе много продуктов и они сложно переплетаются, поэтому его бекграунд очень ему помогал - он даже написал фреймворк по автоматиции установки и интеграции дев-окружения (который до сих пор используется, хотя чувак уже в другой конторе)

    Кругом слышно, что у java высокий порог вхождения, поэтому устроившись на автоматизацию можно его сгладить, имхо. Умение автоматизации - тоже полезно (у нас мы сами пишем тесты Cucumber + Selenium). Главное не засиживаться, когда (если) станет скучно - брутально валить в дев. Это будет сделать проще с записью в трудовой.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему не public переменная, а функции get/set?

    exenza @exenza
    Сеттеры частенько делают проверки и валидации значений; в случае геттеров, они могут комбинировать значения нескольких полей. Логика меняется в одном месте, а не во многих.

    Java библиотеки, например сериализация, а соответственно и фреймворки, основанные на них, используют геттеры и сеттеры
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как задать шаблон-класса в языке dart?

    exenza @exenza
    Эта фича в процессе разработки, см github #254 обновления за последнюю неделю
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • Следующие →
Самые активные сегодня
  • mayton2019
    • 5 ответов
    • 0 вопросов
  • saboteur_kiev
    Saboteur
    • 4 ответа
    • 0 вопросов
  • Drno
    • 4 ответа
    • 0 вопросов
  • Alexandroppolus
    Alexandroppolus
    • 4 ответа
    • 0 вопросов
  • Yukan Mukimura
    • 1 ответ
    • 3 вопроса
  • vabka
    Василий Банников
    • 3 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации