Как стать автором
Обновить

Комментарии 20

Спасибо за статью, может наконец-то в следующий раз я буду использовать все возможности LibGDX, а не городить велосипеды (кнопки, скины, etc) да костыли.

Скрытый текст
Не ради холивара, но почему не Android Studio/чистая IDEA? На своем опыте скажу, что для новичков она проще. Или статья не урочная, а просто показать?
Не автор, но отвечу. У идеи есть свои недостатки — например производительность, особенно у 13 версии хромает. На достаточно мощном железе, приходится, например, выключать анимации окон потому что они ужасно лагают. Да и в целом она подтупляет. Эклипс же конечно стремный, но он летает.
Может анимации из-за JRE глючат? С осени пользуюсь AndroidStudio, «пережил» с ней все обновления, и как-то без каких-либо багов GUI (что вечно что-то ломается в системе сборки проекта — это другой разговор).
По времени сборки — где-то 2-3 секунды на сборку проекта (clean+build). Если пересобирать не все, то быстрее. Под Eclipse как-то пробовал еще в конце прошлого года проект собирать, по времени примерно тоже самое выходит.
Может еще от системы зависит, я на винде сижу. Версии 12 и младше по части GUI не лагали.
2-3 секунды? У меня на HDD секунд 15-20 собирается. На SSD около 5. Инкрементальная сборка, не clean+build. Эклипс в тех же условиях мгновенно отрабатывает.
У меня на линухе с ssd и неплохим таким процессором. Сборка по времени упирается в процессор. Может у вас проект большой по размеру? У меня так, мелочь на пару десятков классов.
Если бы, просто hello world который по дефолту создается gdx-setup'ом. Я и удивляюсь, потому у меня проект на сотню классов в eclipse полностью пересобирается за те же 15-20 секунд. Ну может ноутбучного i5 gradle для счастья мало.
НЛО прилетело и опубликовало эту надпись здесь
Android Studio вообще нельзя использовать с libGDX (по моим сведениям), ибо она заточена только на разработку под Android, а libGDX — кроссплатформенный. Я выбрал Eclipse, потому что на момент начала изучения Java и Android, большая часть статей и уроков начиналась с фразы: «Давайте сначала установим Eclipse и настроем его для работы.». Как-то так)
* настроим. И как я только опечатался.
И отвечая на вашу фразу про костыли и все возможности libGDX — очень сомневаюсь, что я настолько опытен. В целом, опыта работы с ним у меня не так много (как я об этом написал в начале статьи). Скорее всего за следующую (а возможно уже и за эту) статью я получу много щелбанов от бывалых «джавистов» и/или game dev специалистов.
Буквально на днях попробовал для проекта на libgdx использовать Gradle+IDEA. До этого сидел на Eclipse+Ant. Так вот, gradle собирает проект(по крайней мере десктопный) ужасно медленно. Hello world проект gradlом собирается медленнее чем полноценная игра antом. Плюс ко всему под эклипсом у меня за это время еще и упаковщик атласов успевал отработать. Пробовал перенести gradle проект на SSD — всеравно медленно.
Это правда, Gradle медленный, но мне наскучило руками настраивать все эти Java Build Path, а тут готовый вариант не делать этого. Вот я воспользовался.
Может я что-то делаю неправильно, но у меня нерешаемая проблема в коде:
image
Да, прошу прощения, это я немного поторопился и забыл рассказать об одном важном моменте. Обновил статью, надеюсь, ошибок больше не будет.
Спасибо за статью. А можно ссылку на Ваши игры в Google Play?
Рад стараться! Это мой дебют) но следующая игра не за горами, так что постараюсь вас уведомить.
Прежде, чем кого-то чему-то учить и рассказывать про вашу «полноценную игру», я посоветовал бы сначала хоть почитать какие-либо основы, какие-либо общепринятые нормы, как, в конце-концов, правильно делать банальные вещи.
Вкратце:
1. В libgdx лучше объявлять все ресурсы в .json файле, который подавать в Skin(FileHandle), загружая через Skin.get(String, Class<?>).
2. Используете dispose() не там, где нужно, совсем не так ( «game.dispose()» в Screen'e — вы понимаете смысл dispose()? ), как нужно.
3. Не совсем понял прикол с наследованием Stage ради обработки нажатия одной кнопки, да еще и таким извращенным методом. Stage.addListener(EventListener) уже не в тренде?
4. XMLparse — я даже не могу придумать, как еще сложнее получить массив отсортированных чисел, которые зачем-то представлены в виде строк.
5. Мягко говоря, ваш код ужасен.
Если вы говорите, что «не особо Java программист» и «только учитесь», то не нужно публиковать такую, извиняюсь за прямоту, чушь. Это может кто-то подхватить и считать за норму — «На хабре опубликовано — значит, что правильно».
Благодарю за критику. Ее-то я как раз и ждал. Все замечания учту. Я знаю, что мой код ужасен, но все же и он кому-либо поможет, так как большая часть уроков по libGDX, которые встречались мне, просто цитировали документацию отдельными кусками, а здесь хотя бы есть некоторая целостность (на мой взгляд). Тем более, мы же говорим о программистах, а они думают головой, прежде вслепую копировать чужой код или алгоритм решения своей задачи. Но это, опять же мое мнение, а я могу ошибаться)
Сам изучаю сейчас LibGDX. Хотелось бы узнать по поводу метода dispose() в Ваших классах, наследуемых от Screen.

Разве надо для обьекта game делать dispose? Мы же его не создавали, в данном классе.
С dispose мне уже sperson написал)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории