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

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

07.12.2012, 18:27. Показов 2903. Ответов 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
8488 / 6155 / 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
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru