Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25

Анимация C++ Builder

07.12.2012, 18:27. Показов 2877. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Мой вопрос вот в чем:
1. Как сделать, чтобы таймер повторялся, пока запущена программа (ну, вот как гирлянда на ёлке - шарик моргает 5 раз на секунду).
2. Можно ли сделать, чтобы в функции таймера отрисовывалось сразу несколько изображений, с интервалом в 50 мс
(опять же, для примера приведу гирлянду - загорается 1ый шарик, за ним 2ой, потом 3ий и далее).


Заранее спасибо за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.12.2012, 18:27
Ответы с готовыми решениями:

Анимация в С++ Builder
Доброго всем время суток. Подскажите как сделать анимацию в С++ Builder. У меня есть нескьлько вариантов: -с помощью таймера -с помощью...

.gif анимация в C++ Builder 6
Здравствуйте, пытаюсь вставить стандартными средствами билдера .gif анимацию в формы. При попытке загрузить в TImage .gif ручками...

Таймер в C++ Builder. Анимация
Ребят нужна помощь (не ссылка а код). Нужна анимация: - минуту висит картинка - на нее вылазит следующая - проходит 0.2 секунды ...

11
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.12.2012, 18:45
с интервалом в 50 мс
Таймер работает нормально со 100...200 мс
0
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
07.12.2012, 19:02  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Таймер работает нормально со 100...200 мс
Не суть. Как зациклить этот таймер?
чтобы изображение появлялось/исчезало (ну моргало) через 100-200мс?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.12.2012, 19:03
Так он и так постоянно выполняется...
0
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
07.12.2012, 19:28  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Так он и так постоянно выполняется...

C++
1
2
3
4
5
6
7
8
9
10
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Graphics::TBitmap* bit=new Graphics::TBitmap;     
bit->LoadFromFile("E:\\sharZH.bmp");           
bit->Transparent=true; 
bit->TransparentColor=clWhite;
Canvas->Draw(25,25,bit);                    
delete bit;                               
bit=NULL;
}
по такому коду - один раз появляется картинка, и на этом хэппи энд..
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.12.2012, 19:31
Цитата Сообщение от R1kki Посмотреть сообщение
по такому коду - один раз появляется картинка, и на этом хэппи энд..
Заблужение...
0
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
07.12.2012, 19:38  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Заблужение...
Как мне вам доказать, что это так??

Вот запускаю компилятор, всё норм компилит, линкает тоже гуд, потом появляется картинка (в интервале 100-200мс).
И всё, оно остается, не исчезает, не появляется!
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.12.2012, 19:43
Ну так он рисует постоянно просто не замечаете картинка та постоянно одна.

Управлять таймером можно с помощью свойства
C++
1
Timer1->Enabled= false; // остановить таймер
0
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
07.12.2012, 19:50  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Ну так он рисует постоянно просто не замечаете картинка та постоянно одна.

Управлять таймером можно с помощью свойства
C++
1
Timer1->Enabled= false; // остановить таймер
а как сделать, чтобы "заиграла гирлянда"?
т.е. две одинаковые картинку в одну и туже позицию поместить?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
07.12.2012, 19:52
1. Через внешнюю глобальную переменную...
2. Через два таймера.
0
0 / 0 / 0
Регистрация: 07.12.2012
Сообщений: 25
07.12.2012, 20:01  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
1. Через внешнюю глобальную переменную...
2. Через два таймера.
Сделал через 2 таймера.
Но получилось вот что:
постоянно висит жёлтый шарик, красный только промелькивает.
а мне надо, чтобы красный/жёлтый/красный/жёлтый и фон оставался цвета загоревшегося шарика.
а

а как через глобальную сделать?
0
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
07.12.2012, 20:16
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Graphics::TBitmap* bit=new Graphics::TBitmap;
bit->LoadFromFile("E:\\sharZH.bmp");
}
О..боже..

Зачем вы грузите картинку каждый раз?

Простейшее:
Глобальные переменные:
C++
1
2
Graphics::TBitmap* bit;
bool Fire;
Потом в инициализации формы
C++
1
2
3
4
5
6
bit=new Graphics::TBitmap;     
bit->LoadFromFile("E:\\sharZH.bmp");    
bit->Transparent=true; 
bit->TransparentColor=clWhite;
DoubleBuffered = true;
Fire = false;
В таймере:
C++
1
2
Fire = !Fire;
Form1->Repaint();
В void __fastcall TForm1::FormPaint(TObject *Sender)
C++
1
if(Fire)Canvas->Draw(25,25,bit);
Таймеру Interval сделайте допустим 100
Шарик будет появляться и пропадать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.12.2012, 20:16
Помогаю со студенческими работами здесь

Анимация в c++ Builder xe4
Здравствуйте уважаемые программисты и пользователи форума. Недавно захотел улучшить свою программу а точнее ее интерфейс. Вот мне и пришла...

Анимация идущего человечка с++ builder
Нужно создать анимацию идущего человечка поочередно накладывая картинки. Объясните пожалуйста как это делается или дайте ссылку на нужный...

Какую библиотеку подключить в с++ builder для xpos, ypos (анимация)?
привет всем) помогите пожалуйста в с++ я вообще новичок, так что не ругайте пожалуйста основную часть программы скатал с учебника...

Можно ли использовать C++ Builder v11 если купить Embarcadero C++Builder XE8
День добрый! Есть старый проект С++. Он компилируется на CodeGear™ C++Builder Version 11. Но на это ПО утеряна лицензия, сейчас...

Как использовать компоненты скомпилированные для C++ Builder 2007 в C++ Builder 2010?
Народ! Такая проблема... Есть набор компонентов т.н. Dicom VCL. Сайт производителя - http://www.medicalconnections.co.uk/. У них на...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru