|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.05.2022, 23:24 | #1 |
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
Как сделать так чтобы от верхней позиции по таймеру очерчивалась окружность Arc?
Я точно не знаю как работает Arc пыталась сделать собственными силами, чтобы начиная от верхнее точки линия чертилась плавно по окружности (для этого я использовала timer).
Т.е. изначально окружности нет она должна вычерчиваться программно. Пример на рисунке, что пытаюсь сделать. img1.jpg В итоге окружность двигается. 1. Не с точки старта как хотелось бы 2. Не в то направление 3. Слишком быстро Как исправить, вот мой код? Код:
|
07.05.2022, 23:54 | #2 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
В таймере лучше просто увеличивать переменную обозначающую прирост окружности и вызывать перерисовку окна.
А все рисование производить в OnPaint. Код:
Последний раз редактировалось macomics; 08.05.2022 в 00:29. |
08.05.2022, 04:09 | #4 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Код:
Последний раз редактировалось macomics; 08.05.2022 в 04:31. |
08.05.2022, 05:37 | #5 |
Пользователь
Регистрация: 11.01.2021
Сообщений: 48
|
Еще раз спасибо разобралась, выкладываю полностью код:
Код:
|
08.05.2022, 10:23 | #6 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Эти строчки добавлены, чтобы продемонстрировать настройки объекта TTimer в инспекторе объектов. Их можно убрать, но настроить этот компонент соответствующим образом.
Когда координаты точек (SX = EX) and (SY = EY), то отображается целая окружность. Чтобы этого не было, то после стадии стирания стоит убрать кусочек дуги из области рисования, который будет невидимым Код:
Для замедления работы можно добавить шагов анимации: перейти от 16 * 360 кадров к 60 * 360 или 60 * 60 * 360 кадров. Но последнее слишком медленно, хотя изображает часовую стрелку в соответствии с ходом секундной. Последний раз редактировалось macomics; 08.05.2022 в 10:41. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Минимальное количество шагов шахматного коня, чтобы достигнуть определенной позиции на шахматной доске | Programist_r | Помощь студентам | 1 | 09.01.2020 19:52 |
Братья помогите: помогите с кодом VBA чтобы, заполнить диапазон строк названием улицы из верхней строки, до строки с другой улицей | vasjaspb | Microsoft Office Access | 0 | 08.06.2016 22:17 |
Как сделать проверку истинности позиции? | Андрей Иванов | Помощь студентам | 0 | 10.05.2015 15:26 |
заместить символы так, чтобы ключевое слово начиналось с первой позиции | Joistick | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 19.06.2013 21:18 |
как сделать так,чтобы он левой рукой до стены коснулся? и если можно чтобы двери лифта закрылись | maxon56 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 07.06.2011 18:46 |