|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.05.2011, 17:02 | #1 |
Пользователь
Регистрация: 24.05.2011
Сообщений: 39
|
Плавное перемещение картинки
Доброго времени суток!
Есть следующая задача: Нужно чтобы мячик(Timage) "скакал" вверх и вниз. Реализовал с помощью таймера: Код:
Не подскажите ли как более правильно реализовать эту задачу? Заранее спасибо! |
24.05.2011, 17:35 | #2 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
интервал у TTimer не бывает меньше 50... вот такой вот таймер.
так что ставьте интервал 50 и продвигайте мячик на большее расстояние. в плане мерцания стандартный совет сделать form1.DoubleBuffered:=true; только я еще ни разу не замечал каким местом это помогает... |
24.05.2011, 18:34 | #3 | |
Пользователь
Регистрация: 24.05.2011
Сообщений: 39
|
Цитата:
Хм, а у меня ставить интервал 1, а если поставишь 50, то передвигается значительно медленнее... Как бы сделать движение более плавным... ? |
|
24.05.2011, 18:55 | #4 | |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
Скинь проект сюда.
Сливочное масло Valio - компиляция как по маслу
|
|
24.05.2011, 19:09 | #5 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
как сделать интервал в таймере меньше 50?
чило то любое можно записать, но быстрее чем через 50ms не срабатывает... я это читал где-то, да и практика это подтверждает, точно не замерял, но интервал в 1 ms срабатывал явно медленнее. а чтоб мячик не дергался можно либо увеличить fps (частоту смены кадра) либо усложнить картинку мячика, например чтоб при движении был мячик размазывался. |
24.05.2011, 19:27 | #6 |
Пользователь
Регистрация: 24.05.2011
Сообщений: 39
|
|
24.05.2011, 19:37 | #7 | |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Причём тут FPS и какое отношение он имеет к данному проекту из таймера и мячика?
Цитата:
Сливочное масло Valio - компиляция как по маслу
|
|
24.05.2011, 20:03 | #8 | |
Пользователь
Регистрация: 24.05.2011
Сообщений: 39
|
Цитата:
Загрузил свой проект, мяч стал отображаться более плавно, однако производительность оставляет желать лучшего... |
|
24.05.2011, 20:10 | #9 | ||
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
Цитата:
Код:
Сливочное масло Valio - компиляция как по маслу
|
||
24.05.2011, 20:11 | #10 |
Форумчанин
Регистрация: 18.10.2010
Сообщений: 419
|
Valio, да, действительно, казалось бы, причем тут fps,
но если подумать, то каждый раз когда мячик меняет свое положение, чем это не очередной кадр? называть это можно как угодно, но по сути, то как часто мячик изменит положение, т.е. изменится вся картинка, и есть fps. и то что здесь fps не указывается явно, не значит что к нему нет никакого отношения. плавность перемещения мячика здесь зависит от частоты смены кадра, частота смены кадра зависит от интервала таймера, интервал таймера как мы знаем не выдает меньше 50 ms и уменьшать его до 1 нет смысла. а 50 ms это 1000 / 50 = 20 fps даже для видео маловато... так что вам, ros.pro, два выхода - либо искать другой аналог таймера, либо работать над картинкой. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плавное появление картинки при наведении мыши на ссылку | CodeNOT | JavaScript, Ajax | 7 | 28.04.2011 17:15 |
перемещение картинки | dimonnnn | JavaScript, Ajax | 7 | 17.08.2010 20:28 |
Перемещение картинки | Иринка26 | Помощь студентам | 10 | 20.04.2010 20:12 |
Плавное движение картинки | KoBRaAndrey | Общие вопросы Delphi | 2 | 09.04.2010 11:42 |
перемещение картинки | viperrr | Мультимедиа в Delphi | 0 | 06.06.2009 20:55 |