Comments 18
Поиграл в «Музыку космоса». Идея супер, но как Вы будете дальше развивать этот проект?
Спасибо! Вообще, есть несколько вариантов. Во-первых, нужно добить количество уровней хотя бы до 15. Во-вторых, думаю добавить режим игры со случайным скоплением звезд (и следовательно нот). При этом, количество звезд и нот устанавливает пользователь. Далее, хотелось сделать фон более красивым и «живым». То есть, нужно добавить туманности и всякое прочее космическое. Ну и, поработать с текущими уровнями. Сделать мелодии более яркими и запоминающимися. Как-то так)
Кстати, хочу выразить благодарность сообществу Хабры за столь радушный прием. Столько плюсов в карму за такое короткое время. А я, если честно, думал, что пост вообще не пройдет даже начальную модерацию) Спасибо Хабр! Следующий пост постараюсь написать завтра, либо сегодня ночью.
После выбора уровня сильно тормозит, Вы не думали использовать AssetManager?
Таким образом Вы сможете отобразить, как минимум, прогресс загрузки. А сейчас, кликнув по уровню не понятно что идет загрузка, ощущение что все повисло…
Таким образом Вы сможете отобразить, как минимум, прогресс загрузки. А сейчас, кликнув по уровню не понятно что идет загрузка, ощущение что все повисло…
Да, вы не первый мне это сказали. Это, как я понял из-за AdMob. Также, возможно потому, что я поленился упаковать все изображения звезд. В любом случае, спасибо за наводку. В следующей версии постараюсь это исправить. По правде говоря, игра была написана примерно за 4-5 дней. Вот настолько я торопливый человек — желал скорейшего релиза и написания статьи :)
Плюс на высоких разрешениях (в частности на SGS4 1920 x 1080) сложно попадать по звездам…
И спасибо за статьи по libgdx, таких на хабре не так и много.
И спасибо за статьи по libgdx, таких на хабре не так и много.
У меня, к сожалению, нет под рукой устройства с высоким разрешением. Но тестирование на эмуляторе вроде не вызывало проблем. Наверное, приловчился. По поводу статей, да вы правы. А те что есть, на вес золота. Будем исправлять)
Я читал ваши статьи. Хорошо написано. Многое узнал именно из ваших статей. Скажите, в планах есть о чем рассказать? Интересует box2d. Ваши статьи на хабре про него и в блоге я читал. Хотелось бы еще чего-нибудь.
Мог бы, если какие-то конкретные запросы будут. Box2D — слишком объёмен сам по себе )
Вот один вопрос (возможно нубский). Мне показалось, или размеры камеры влияют на поведение объектов. Может я что-то упустил при чтении статей, но когда просто ставишь камеру так:
то, все объекты тяжелеют что-ли. В итоге их вес приходится писать с сотыми (типа так 0.001f). Или я что-то не понимаю. Особенно это заметно, когда перетаскиваешь объект по экрану мышкой. Может поясните? Или это связано больше с тем, что нужно переводить все значения из килограммов (вроде так там они описываются).
camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeigth());
то, все объекты тяжелеют что-ли. В итоге их вес приходится писать с сотыми (типа так 0.001f). Или я что-то не понимаю. Особенно это заметно, когда перетаскиваешь объект по экрану мышкой. Может поясните? Или это связано больше с тем, что нужно переводить все значения из килограммов (вроде так там они описываются).
Если размер камеры делаете больше, то предметы кажутся тяжелее, а если меньше, то легче, так?
Ну, насколько я помню, так у меня и было. Я уже с пару недель не трогал box2D. А до этого, общался с ним не больше 7 дней) И даже не кажутся, они ведут себя именно так. То есть, его сложнее становится «подтянуть» мышкой и все такое.
Кстати, я все же ошибся. Сейчас проверил, вроде бы одинаково. Однако, все равно хотелось бы больше подробностей, связанных с density, friction, restitution и прочим. Спасибо!
проглянул код. В глаза бросился фрагмент
Вы для каждой новой звезды создаете текстуру снова (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), и другое. Пишите, кому нужно, будем разбираться :)
Я уже понял, что могут быть проблемы с производительностью из-за текстурок. В новой версии исправлю и, вы правы, атлас лучше. Я его использовал для кнопок и прочего, а вот звезды решил таким образом оставить. Ошибся) обязательно почитаю ваш блог. А по поводу вашей игры — хотелось бы увидеть полноценную статью (или две). Вообще, интересно про json. И еще. Что вы можете сказать про TiledMap? Находил чей-то англоязычный блог. Там хвалили, правда для «раннеров» и подобного. Спасибо!
TiledMap — использовал, нормально, ничего не скажу) Удобно делать карты, libgdx круто поддерживает. Есть классный редактор — Tiled, пользоваться им неплохо. Как по мне, такие карты хорошо подойдут для стратегий, например, или «рпг» — для вашей игры хватит и простой картинки и рэндомных звезд)
Статью напишу, как закончу игру)
Статью напишу, как закончу игру)
Только вы учтите, что google может в любой момент удалить ваше приложение с маркета и заблокировать аккаунт, как это случилось с вашим покорным слугой.
Не стоит делать бизнес зависимым от корпорации зла.
Сотрудничество с гуглем — не надежно.
Не стоит делать бизнес зависимым от корпорации зла.
Сотрудничество с гуглем — не надежно.
Sign up to leave a comment.
[ libGDX ] Пишем полноценную игру под Android. Часть 2