Форум программистов, компьютерный форум CyberForum.ru

Нет плавности в передвижении персонажа - Android

Войти
Регистрация
Восстановить пароль
 
snakeas
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 4
09.01.2013, 17:04     Нет плавности в передвижении персонажа #1
Здравствуйте. Вот решил освоить андроид программирование. Прикладное программирование более менее понял, написал для себя программу нужную. Вот решил поиграться с игровыми моментами. Решил сделать просто колобка, который двигается по экрану. В общем, все нормально, нашел в интернете пример змейки, сделал по этому примеру своего колобка, но движения не плавные. Причем игрался со всем: и со скоростью таймера и с количеством пикселей, которые колобок проходит за одно движения. Все равно он дергается.
Подскажите, пожалуйста, как вы выходили (если сталкивались) из этой ситуации? Очень надеюсь на совет, гугл не помог. Заранее спасибо!

Java
1
2
3
//первый поток - отрисовка объектов. второй - шаг колобка. колобок делал и канвасом и загружал с битмапа.
        t.scheduleAtFixedRate(new GraphUpdater(surf), 0, 100);
        t.scheduleAtFixedRate(new StepUpdater(this), 0, 100);
P.S: у меня из графического программирования есть опыт только на Delphi, но, насколько помню, там в такой ситуации все двигалось плавно, если таймер выкрутить на 100 мсек и двигать по паре-тройке пикселей за раз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2013, 17:04     Нет плавности в передвижении персонажа
Посмотрите здесь:

Android В сети или нет
Netbeans: приложения нет в эмуляторе Android
Android Как организовать ограничение движения персонажа по некоторой площадке произвольной формы
Android На эмуляторе работает, а в смартфоне нет
Android Приложение создано, ошибок нет, устанавливается но запустить я его не могу - нет иконки. Что я сделал не так?
Android Подключена флешка или нет
Существует файл или нет Android
Android Какого размера делать персонажа для разных экранов Android?
адаптация которой нет Android
Android Работа ScrollView при передвижении пальца не по нему
Android Файл: создать файл в приложении для хранения характеристик персонажа
Android Нет метода addOnScrollListener в RecycleView

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 461
10.01.2013, 02:28     Нет плавности в передвижении персонажа #2
Если отрисовка непрерывная (не по таймеру) и быстрая (без алгоритмических тормозов),
но всё равно иногда тормозит, то, скорее всего, виноват сборщик мусора (лог запуска GC в LogCat).
Если он запускается, то программа останавливается. Его надо победить, то есть не пользоваться им совсем
Следовательно свои пулы объектов и ручная сборка ненужных объектов.
Если слишком трудоёмко получится, то следует подумать о C++.

Некоторые рецепты для игрушек на Java тут изложены.
snakeas
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 4
10.01.2013, 04:19  [ТС]     Нет плавности в передвижении персонажа #3
EVP, спасибо за ответ!
Да, вы правы, виноват сборщик мусора. Только не очень понимаю, как его отключить. Буду пробовать. Если у вас есть мысли или примеры - буду очень рад, если поделитесь.
EVP
319 / 241 / 43
Регистрация: 14.12.2010
Сообщений: 461
10.01.2013, 09:53     Нет плавности в передвижении персонажа #4
GC в Java не отключается. Но его можно заставить не работать, если программа не генерирует мусор.
Все объекты, которыми пользуешься в программе, должны быть в своих пулах.
Взял объект из пула, попользовался, вернул в пул. Для GC не остаётся работы.
И так со всеми объектами. Но это в Java неудобно, т.к. сила Java именно в GC.

Примеры в книжке выше по ссылке.
Кстати, там тоже есть пример змейки: ch06-mrnom.
Yandex
Объявления
10.01.2013, 09:53     Нет плавности в передвижении персонажа
Ответ Создать тему
Опции темы

Текущее время: 12:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru