Комментарии 18
Поиграл в «Музыку космоса». Идея супер, но как Вы будете дальше развивать этот проект?
0
Спасибо! Вообще, есть несколько вариантов. Во-первых, нужно добить количество уровней хотя бы до 15. Во-вторых, думаю добавить режим игры со случайным скоплением звезд (и следовательно нот). При этом, количество звезд и нот устанавливает пользователь. Далее, хотелось сделать фон более красивым и «живым». То есть, нужно добавить туманности и всякое прочее космическое. Ну и, поработать с текущими уровнями. Сделать мелодии более яркими и запоминающимися. Как-то так)
0
Кстати, хочу выразить благодарность сообществу Хабры за столь радушный прием. Столько плюсов в карму за такое короткое время. А я, если честно, думал, что пост вообще не пройдет даже начальную модерацию) Спасибо Хабр! Следующий пост постараюсь написать завтра, либо сегодня ночью.
0
После выбора уровня сильно тормозит, Вы не думали использовать AssetManager?
Таким образом Вы сможете отобразить, как минимум, прогресс загрузки. А сейчас, кликнув по уровню не понятно что идет загрузка, ощущение что все повисло…
Таким образом Вы сможете отобразить, как минимум, прогресс загрузки. А сейчас, кликнув по уровню не понятно что идет загрузка, ощущение что все повисло…
0
Да, вы не первый мне это сказали. Это, как я понял из-за AdMob. Также, возможно потому, что я поленился упаковать все изображения звезд. В любом случае, спасибо за наводку. В следующей версии постараюсь это исправить. По правде говоря, игра была написана примерно за 4-5 дней. Вот настолько я торопливый человек — желал скорейшего релиза и написания статьи :)
0
Плюс на высоких разрешениях (в частности на SGS4 1920 x 1080) сложно попадать по звездам…
И спасибо за статьи по libgdx, таких на хабре не так и много.
И спасибо за статьи по libgdx, таких на хабре не так и много.
0
У меня, к сожалению, нет под рукой устройства с высоким разрешением. Но тестирование на эмуляторе вроде не вызывало проблем. Наверное, приловчился. По поводу статей, да вы правы. А те что есть, на вес золота. Будем исправлять)
0
Я читал ваши статьи. Хорошо написано. Многое узнал именно из ваших статей. Скажите, в планах есть о чем рассказать? Интересует box2d. Ваши статьи на хабре про него и в блоге я читал. Хотелось бы еще чего-нибудь.
0
Мог бы, если какие-то конкретные запросы будут. Box2D — слишком объёмен сам по себе )
0
Вот один вопрос (возможно нубский). Мне показалось, или размеры камеры влияют на поведение объектов. Может я что-то упустил при чтении статей, но когда просто ставишь камеру так:
то, все объекты тяжелеют что-ли. В итоге их вес приходится писать с сотыми (типа так 0.001f). Или я что-то не понимаю. Особенно это заметно, когда перетаскиваешь объект по экрану мышкой. Может поясните? Или это связано больше с тем, что нужно переводить все значения из килограммов (вроде так там они описываются).
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeigth());
то, все объекты тяжелеют что-ли. В итоге их вес приходится писать с сотыми (типа так 0.001f). Или я что-то не понимаю. Особенно это заметно, когда перетаскиваешь объект по экрану мышкой. Может поясните? Или это связано больше с тем, что нужно переводить все значения из килограммов (вроде так там они описываются).
0
Если размер камеры делаете больше, то предметы кажутся тяжелее, а если меньше, то легче, так?
0
Ну, насколько я помню, так у меня и было. Я уже с пару недель не трогал box2D. А до этого, общался с ним не больше 7 дней) И даже не кажутся, они ведут себя именно так. То есть, его сложнее становится «подтянуть» мышкой и все такое.
0
Кстати, я все же ошибся. Сейчас проверил, вроде бы одинаково. Однако, все равно хотелось бы больше подробностей, связанных с density, friction, restitution и прочим. Спасибо!
0
проглянул код. В глаза бросился фрагмент
Вы для каждой новой звезды создаете текстуру снова (new Texture()), и по коду не видно, что вы ее уничтожаете. Текстуры в libgdx — unmanaged обьекты, после использования нужно вызывать метод dispose(), иначе будут утечки памяти. Вообще правильный выход — создайте текстурный атлас с помощью GdxTexturePacker, и берите из него регионы текстуры.
Также я бы на вашем месте использовал Json, а не xml. В libgdx есть прелестные классы для работы с json — сериализация\десереализация обьектов из файлов. К тому же json занимает меньше места, и (не факт) быстрее парсится.
Это то, что я заметил вкратце. Следует заметить, что я наступал на эти же грабли когда-то :)
Если хотите почитать немного о libgdx, можете сделать это здесь (немножко пиара)
Сейчас я заканчиваю разрабатывать игру-лабиринт (та, что с шариком), если кому-то будет интересно, смогу написать некоторые моменты. В частности, я использовал Box2d, DistanceField шрифты, текстурные атласы, написал редактор уровней (загрузка\выгрузка json), и другое. Пишите, кому нужно, будем разбираться :)
public Star(String str_img, String str_sound) {
img_texture = new Texture("images/stars/" + str_img + ".png");
img_texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
img = new Sprite(img_texture);
Вы для каждой новой звезды создаете текстуру снова (new Texture()), и по коду не видно, что вы ее уничтожаете. Текстуры в libgdx — unmanaged обьекты, после использования нужно вызывать метод dispose(), иначе будут утечки памяти. Вообще правильный выход — создайте текстурный атлас с помощью GdxTexturePacker, и берите из него регионы текстуры.
Также я бы на вашем месте использовал Json, а не xml. В libgdx есть прелестные классы для работы с json — сериализация\десереализация обьектов из файлов. К тому же json занимает меньше места, и (не факт) быстрее парсится.
Это то, что я заметил вкратце. Следует заметить, что я наступал на эти же грабли когда-то :)
Если хотите почитать немного о libgdx, можете сделать это здесь (немножко пиара)
Сейчас я заканчиваю разрабатывать игру-лабиринт (та, что с шариком), если кому-то будет интересно, смогу написать некоторые моменты. В частности, я использовал Box2d, DistanceField шрифты, текстурные атласы, написал редактор уровней (загрузка\выгрузка json), и другое. Пишите, кому нужно, будем разбираться :)
0
Я уже понял, что могут быть проблемы с производительностью из-за текстурок. В новой версии исправлю и, вы правы, атлас лучше. Я его использовал для кнопок и прочего, а вот звезды решил таким образом оставить. Ошибся) обязательно почитаю ваш блог. А по поводу вашей игры — хотелось бы увидеть полноценную статью (или две). Вообще, интересно про json. И еще. Что вы можете сказать про TiledMap? Находил чей-то англоязычный блог. Там хвалили, правда для «раннеров» и подобного. Спасибо!
0
TiledMap — использовал, нормально, ничего не скажу) Удобно делать карты, libgdx круто поддерживает. Есть классный редактор — Tiled, пользоваться им неплохо. Как по мне, такие карты хорошо подойдут для стратегий, например, или «рпг» — для вашей игры хватит и простой картинки и рэндомных звезд)
Статью напишу, как закончу игру)
Статью напишу, как закончу игру)
+1
Только вы учтите, что google может в любой момент удалить ваше приложение с маркета и заблокировать аккаунт, как это случилось с вашим покорным слугой.
Не стоит делать бизнес зависимым от корпорации зла.
Сотрудничество с гуглем — не надежно.
Не стоит делать бизнес зависимым от корпорации зла.
Сотрудничество с гуглем — не надежно.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
[ libGDX ] Пишем полноценную игру под Android. Часть 2