|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.04.2011, 08:24 | #1 | |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Движение полукруга горизонтально по форме - отражение от краёв. Графика Delphi7
Здравствуйте, у меня есть вот такая вот задачка
Цитата:
Код:
|
|
19.04.2011, 08:39 | #2 |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Процедуру OnPaint для Form1 убрал вообще...OnTimer подкорректировал следующим образом
Код:
|
19.04.2011, 08:51 | #3 |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Код:
|
19.04.2011, 08:57 | #4 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
чтобы двигалась необходимо чтобы координаты МЕНЯЛИСЬ. Form1.Canvas.Pen.Color:=ClBlue; Form1.Canvas.Arc(trunc(XM/2)+R,trunc(YM/2),trunc(XM/2)+b+R,trunc(YM/2)+a,trunc(XM/2)+trunc(b/2)+R,trunc(YM/2)+a,trunc(XM/2)+trunc(b/2)+R,trunc(YM/2)); Цитата:
procedure TForm1.FormPaint(Sender: TObject); var R: TRect; begin R := GetClientRect; {Gets the boundaries of the current window} Canvas.Arc(R.Left, R.Top, R.Right, R.Bottom, R.Right, R.Top, R.Left, R.Top); e Form1.Canvas.Arc(trunc(XM/2)+R,trunc(YM/2),trunc(XM/2)+b+R,trunc(YM/2)+a,trunc(XM/2)+trunc(b/2)+R,trunc(YM/2)+a,trunc(XM/2)+trunc(b/2)+R,trunc(YM/2));
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 19.04.2011 в 09:00. |
||
19.04.2011, 09:14 | #5 |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Что такое движение в Delphi я понимаю, про центр написал -все уже по центру, для того чтобы двигалось попробовал добавить к
Код:
Код:
Последний раз редактировалось detalik; 19.04.2011 в 09:17. |
19.04.2011, 09:57 | #6 |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Код:
|
19.04.2011, 10:06 | #7 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
константа = НЕИЗМЕНЯЕМОЕ значение.
Цитата:
Цитата:
Цитата:
Таймер и так будет срабатывать КАЖДЫЕ N мс. Это уже ГОТОВЫЙ цикл. Надо ХРАНИТЬ данные о положении ВНЕ процедуры OnTimer (поле класса. глобальная переменная, и т.п.). чтобы ими можно было пользоваться ( и менять) при КАЖДОМ вызове.
программа — запись алгоритма на языке понятном транслятору
|
|||
19.04.2011, 10:08 | #8 |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Не подскажите как это сделать? Просто я попробовал вот так
Код:
|
19.04.2011, 10:14 | #9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
НАДО
стереть старое (предыдущее) изменить координаты нарисовать новое. У ВАС стереть начальное нарисовать старое изменить координаты И еще раз таимер это УЖЕ цикл Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|
19.04.2011, 10:33 | #10 | |
Форумчанин
Регистрация: 05.04.2011
Сообщений: 115
|
Как таймеру объяснить что это надо делать пока
Цитата:
Код:
Код:
Последний раз редактировалось detalik; 19.04.2011 в 10:36. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
отражение в форме, всех данных из подчиненной таблицы | stbo | Microsoft Office Access | 1 | 17.01.2011 15:58 |
Delphi7 Как осуществить движение объекта? | -ushёl- | Компоненты Delphi | 3 | 10.05.2010 22:01 |
Движение полукруга | malir | Помощь студентам | 0 | 14.12.2009 17:50 |
Движение по эллипсу в delphi7 | GaLiof | Помощь студентам | 16 | 15.11.2009 14:06 |