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

Создание анимации

08.09.2013, 15:57. Показов 4948. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно создать анимацию: мяч катится по траве.

Я создал, Button1, в ней написал:
C++
1
2
3
x1=0; y1=370; x2=100; y2=470;
 Canvas->Ellipse(x1,y1,x2,y2); 
 Timer1->Enabled=true;
Тоесть я построил круг. Как мне сделать чтоб круг начал катится?

Добавлено через 32 минуты
Да, и желательно сделать через CopyRect.
Я пишу:
C++
1
Canvas->CopyRect(Rect(x1,y1,x2,y2),Form1->Canvas,Rect(x1-5,y1-5,x2-5,y2+5));
Но выходит какой-то бред. Судя по всему из-за того что я теряюсь в X и Y.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.09.2013, 15:57
Ответы с готовыми решениями:

Создание анимации в C++ Builder
Здравствуйте! Хочу выяснить, если в C++ Builder функции, управляющие анимацией, например, эффект плавного появления как в PowerPoint! Если...

Создание анимации из 2 картинок по времени Builder C++
Здравствуйте, помогите решить вопрос с созданием анимации. Имеется 2 картинки, мне необходимо их отображать последовательно или через...

Электронный учебник, создание анимации к материалам
кто нибудь может поделиться исходниками? я делаю учебник по физике "Кинематика" теорию собираюсь делать в Html, как можно сделать...

5
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
09.09.2013, 17:24
Вариант без CopyRect:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void __fastcall TForm1::GoClick(TObject *Sender)
{
  Timer->Interval = 100;
  Timer->Enabled = 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TimerTimer(TObject *Sender)
{
  if (Ball->Left < Form1->ClientWidth - Ball->Width - 10)
  {
    Ball->Top = Ball->Top - 2;
    Ball->Left = Ball->Left + 5;
    if (Ball->Left%2 == 0)
      Ball->Brush->Style = bsDiagCross;
    else
      Ball->Brush->Style = bsCross;
  }
  else
    Timer->Enabled = 0;
}
Миниатюры
Создание анимации  
1
7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
09.09.2013, 18:14  [ТС]
gunslier, Извиняюсь, а что такое Ball? Как и где его определить?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33400 / 21510 / 8236
Регистрация: 22.10.2011
Сообщений: 36,907
Записей в блоге: 12
09.09.2013, 18:34
Это компонент TShape с Shape = tkCircle и с именем Ball (имя меняется в Object Inspector-е)
1
7 / 7 / 0
Регистрация: 15.10.2012
Сообщений: 180
09.09.2013, 18:48  [ТС]
И еще вопрос. Можете пояснить мне этот кусок кода:
C++
1
2
3
4
5
if (Ball->Left < Form1->ClientWidth - Ball->Width - 10)
  {
    Ball->Top = Ball->Top - 2;
    Ball->Left = Ball->Left + 5;
    if (Ball->Left%2 == 0
Желательно каждую строку.
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
09.09.2013, 21:24
if (Ball->Left < Form1->ClientWidth - Ball->Width - 10) // проверяем условие - если расстояние по горизонтали от правой части Shape до края "рабочей части" формы более 10 пикселей (нужно, чтобы объект полностью оставался на виду; условие лишь для примера, можно менять, как тебе угодно)

Ball->Top = Ball->Top - 2; и Ball->Left = Ball->Left + 5; // сдвигаем Shape по имени Ball на два пикселя вверх и пять вправо; это движение объекта

if (Ball->Left%2 == 0) // если координата левого края "мяча" четная (%2 - остаток от деления на 2), то
// сетка на Shape - диагональная (Ball->Brush->Style = bsDiagCross), иначе обычная (bsCross); имитация "изменения вида объекта"

else
Timer->Enabled = 0; // по достижении угла формы движение прекращается
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.09.2013, 21:24
Помогаю со студенческими работами здесь

Создание простой анимации что бы менялись картинки друг за другом
Создание простой анимации что бы менялись картинки друг за другом как реализовать

Создание анимации
мне надо создать пример анимации в делфи, вбил все данные программа не запускается и выделяет строку:...

создание анимации
доброго времени суток......я сейчас начинаю учить Delphi и делаю игру (21 очко)....можете подсказать как сделать анимацию????просто можно...

создание анимации
помогите, пожалуйста, сделать анимацию. задание на самой картинке, а в графике на делфи у меня слабо. Задание нужно выполнить в delphi...

Создание анимации
Добрый день, вечер, ночи дорогие форумчане! Недавно наткнулся на один сайт - http://valentina-fashion.kz/. Очень понравилась...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru