Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.04.2011, 15:39   #1
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию Как нарисовать на форме в delphi анимацию?

Помогите нарисовать на форме анимацию, в виде человечка делающего какие либо движения
Yamkin вне форума Ответить с цитированием
Старый 13.04.2011, 15:53   #2
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Анимацию можно делать многими способами:
-использовать Animate, если есть видеоролик без звука;
-использовать MediaPlayer, если есть видеоролик со звуком;
-использовать Timer совместно с несколькими Image (достижение эффекта анимации последовательным показом картинок);
-использовать канву формы с графическими примитивами (самый геморный, по-моему).
-др. способы, которые я не смог вспомнить или придумать
Какой Вам ближе?
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 13.04.2011, 16:05   #3
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

К сожалению мне ближе канва
Yamkin вне форума Ответить с цитированием
Старый 13.04.2011, 16:07   #4
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

к сожвлению мне ближе с помощью канвы
Yamkin вне форума Ответить с цитированием
Старый 13.04.2011, 16:10   #5
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

Просмотрел видео уроки так и не догнал как рисовать(
Yamkin вне форума Ответить с цитированием
Старый 13.04.2011, 16:57   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
procedure Line(Cvs: TCanvas; x1, y1, x2, y2: integer);
begin
  Cvs.MoveTo(x1, y1);
  Cvs.LineTo(x2, y2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Canvas.Brush.Color := ClWhite;
  Canvas.Ellipse(200, 140, 250, 190);
  Line(Canvas, 229, 191, 229, 355);
  Line(Canvas, 192, 224, 228, 224);
  Line(Canvas, 191, 223, 152, 238);
  Line(Canvas, 231, 224, 274, 223);
  Line(Canvas, 274, 223, 297, 188);
  Line(Canvas, 225, 350, 150, 399);
  Line(Canvas, 153, 399, 150, 469);
  Line(Canvas, 151, 469, 117, 470);
  Line(Canvas, 231, 349, 306, 397);
  Line(Canvas, 307, 398, 308, 459);
  Line(Canvas, 308, 461, 344, 461);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.04.2011, 17:04   #7
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

Спасибо большое! теперь у меня другой вопрос как его анимировать?
Yamkin вне форума Ответить с цитированием
Старый 13.04.2011, 17:15   #8
TzX
Пользователь
 
Аватар для TzX
 
Регистрация: 23.12.2009
Сообщений: 57
По умолчанию

В таймере перерисовывай. Если этот код понятен не сложно будет.
TzX вне форума Ответить с цитированием
Старый 13.04.2011, 17:24   #9
tsar_
Форумчанин
 
Аватар для tsar_
 
Регистрация: 06.01.2011
Сообщений: 369
По умолчанию

Ну например, чтобы человечек, которого изобразил Serge_Bliznykov, замахал рукой, нужно продумать координаты для всех примитивов руки в разных ее положениях. Дальше использовать компонент Timer- по его сигналу закрашивать форму каким-либо цветом (чтобы стереть "старого" человечка) и рисовать "нового" с отклоненной рукой. Вот такой алгоритм.
А поводом к началу анимации (фактически- запуску Timer'а) может быть хоть то же нажатие на Button.
Программирую по необходимости
tsar_ вне форума Ответить с цитированием
Старый 13.04.2011, 17:28   #10
Yamkin
Пользователь
 
Аватар для Yamkin
 
Регистрация: 12.12.2010
Сообщений: 10
По умолчанию

Спасибо за советы...непременно попробую) о результате напишу
Yamkin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нарисовать на форме график Symba Общие вопросы Delphi 4 17.03.2011 20:20
Delphi: как поместить анимацию (без звука) в отдельный поток? ex.cluz Помощь студентам 0 15.01.2010 14:26
как нарисовать лыжника в delphi Валерия Помощь студентам 8 11.01.2009 13:20
Как же нарисовать линию на форме? (Вопрос новичка) grey Помощь студентам 11 24.11.2008 10:31
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43