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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
snakeas
0 / 0 / 0
Регистрация: 20.10.2012
Сообщений: 4
#1

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

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

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

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     Нет плавности в передвижении персонажа
Посмотрите здесь:

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

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

Как организовать ограничение движения персонажа по некоторой площадке произвольной формы - Программирование Android
Как организовать ограничение движения персонажа по некоторой площадке произвольной формы. Например, как в денди версии игры Indiana Jones....

Файл: создать файл в приложении для хранения характеристик персонажа - Программирование Android
Здравствуйте! Мне нужно создать файл в приложении для хранения характеристик персонажа. Я могу создать его с помощью createNewFile(), но...

Приложение создано, ошибок нет, устанавливается но запустить я его не могу - нет иконки. Что я сделал не так? - Программирование Android
Код: package ru.wert1go.equation; import android.app.Activity; import android.os.Bundle; import android.text.Html; import...

Нет плавности в играх при большом количестве фпс - Компьютерное железо
Привет. 19.05 приобрел новое железо для обновления компа, конфиг: i5 6400 Box Материнская плата ASROCK H110M-DGS LGA 1151, mATX, Ret ...

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

Отсутствие плавности игрового процесса - Компьютерное железо
Здравствуйте уважаемые форумчане. В наличии имеется следующее железо: Процессор - Intel Core i5-2400 3.1 Ghz Видеокарта - Gigabyte...

.NET 4.x Оптимизация отрисовки, или как добиться плавности интерфейса - C#
Во время написания проги заметил очень неприятный эффект. При максимизации (развертывании) её на весь экран или изменения размера формы...

GIF! Как текст лучше сохранить ни теряя его плавности? - Web-дизайн
сама картинка gif полностью прозрачная, а текст белый, сохраняю как gif, в итоге на веб-странице он выглядит какбуд-то подраный, видно что...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
EVP
321 / 243 / 43
Регистрация: 14.12.2010
Сообщений: 464
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
321 / 243 / 43
Регистрация: 14.12.2010
Сообщений: 464
10.01.2013, 09:53     Нет плавности в передвижении персонажа #4
GC в Java не отключается. Но его можно заставить не работать, если программа не генерирует мусор.
Все объекты, которыми пользуешься в программе, должны быть в своих пулах.
Взял объект из пула, попользовался, вернул в пул. Для GC не остаётся работы.
И так со всеми объектами. Но это в Java неудобно, т.к. сила Java именно в GC.

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

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