Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
snakeas
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 4
1

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

09.01.2013, 17:04. Просмотров 710. Ответов 3
Метки нет (Все метки)

Здравствуйте. Вот решил освоить андроид программирование. Прикладное программирование более менее понял, написал для себя программу нужную. Вот решил поиграться с игровыми моментами. Решил сделать просто колобка, который двигается по экрану. В общем, все нормально, нашел в интернете пример змейки, сделал по этому примеру своего колобка, но движения не плавные. Причем игрался со всем: и со скоростью таймера и с количеством пикселей, которые колобок проходит за одно движения. Все равно он дергается.
Подскажите, пожалуйста, как вы выходили (если сталкивались) из этой ситуации? Очень надеюсь на совет, гугл не помог. Заранее спасибо!

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

Работа ScrollView при передвижении пальца не по нему
Подскажите, пожалуйста, можно ли сделать так, что бы ScrollView прокручивался...

Запустить анимацию персонажа
Делаю приложение и возник такой вопрос у меня есть анимированный персонаж, как...

Какого размера делать персонажа для разных экранов Android?
Какого размера делать персонажа для разных экранов Android? В игре будет два...

Как организовать ограничение движения персонажа по некоторой площадке произвольной формы
Как организовать ограничение движения персонажа по некоторой площадке...

Нет плавности развертки блока
Доброго времени. .box { width: 500px; margin: 0 auto; border: 1px solid...

3
EVP
502 / 265 / 59
Регистрация: 14.12.2010
Сообщений: 529
10.01.2013, 02:28 2
Если отрисовка непрерывная (не по таймеру) и быстрая (без алгоритмических тормозов),
но всё равно иногда тормозит, то, скорее всего, виноват сборщик мусора (лог запуска GC в LogCat).
Если он запускается, то программа останавливается. Его надо победить, то есть не пользоваться им совсем
Следовательно свои пулы объектов и ручная сборка ненужных объектов.
Если слишком трудоёмко получится, то следует подумать о C++.

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

Примеры в книжке выше по ссылке.
Кстати, там тоже есть пример змейки: ch06-mrnom.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 09:53

Нет плавности в играх при большом количестве фпс
Привет. 19.05 приобрел новое железо для обновления компа, конфиг: i5 6400 Box...

Придать эффект плавности
Есть код: var bgC="#f1eace"; $(function(){ $(".hoverElement").hover(...

Как добиться плавности перемещения
Как добиться плавности перемещения камеры? В каких-то статьях написано, что...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru