![]() |
Модераторы: Snowy, Alexeis, MetalFan |
![]() ![]() ![]() |
|
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Доброе время суток!
У меня вот такая проблема: Не получается сделать движение Image по форме и отражение его от краёв ( Задумка такая каждые 10 секунд появляется анимация но хотелось бы что бы она появлялась в разных местах формы, помогите как осуществить такое? --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
SaiLight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.9.2014 Репутация: 0 Всего: 0 |
Основная переменная - позиция центра объекта (контейнера с изображением). Дополнительные: размер объекта, номер кадра анимации, количество кадров, частота смены кадров, видим ли объект, длительность его присутствия... Допустим, так:
Далее, все основные операции делятся на 2 категории: расчет позиции и расчет параметров вывода объекта на экран. По идее, можно реализовать данную задачу и без Image, выводя графику на Canvas формы, но подобный подход не исключает и использование данного компонента - просто вместо функции вывода графики на Canvas используйте функцию присваивания изображения компоненту (не помню, как там, возможно, Assign). Нечто подобное (только в более расширенной версии) некогда было реализовано мною в открытой игре RoboTir (прямая ссылка). Там же реализованы и анимация, и возможность отскакивания изображений от краев экрана. |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Нет вы не поняли я поясню, мне ни анимацию двигать надо а сам Image по форме чтоб он в разных местах появлялся на форме через например 10 секунд) в эти десять секунд он пустой. надо его просто передвигать до очередной анимации сам компонент. Прикреплю проект чтоб понятней стало))
Я не когда не сталкивался с анимацией и с передвижением) если есть возможность дать исходник чтоб покопаться и понят буду благодарен! Спасибо за внимание! С уважением, Денис! Это сообщение отредактировал(а) Volkogriz - 25.10.2014, 00:39 Присоединённый файл ( Кол-во скачиваний: 3 ) ![]() --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
SaiLight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.9.2014 Репутация: 0 Всего: 0 |
Ну тогда, опять же, работаем с его позицией, например, изменяя ее в таймере. В представленном мною выше проекте вычисление позиции идет при помощи переменной, отвечающей за направление движения объекта, а отскакивание объекта от краев формы - изменением этой переменной. Вот вырезка кода, отвечающего за эти действия:
За правильность формул не ручаюсь - проект был написан несколько лет назад, но у меня все работало довольно неплохо. В вашем случае, FPos.X и FPos.Y - позиция Image, FSpeed - скорость перемещения объекта, а на FSlowDown, FPower и FDeadSpeed вообще можно не смотреть. Это сообщение отредактировал(а) SaiLight - 25.10.2014, 00:41 |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Благодарю за помощь!
Не сочтите за наглость! Есть просьба не могли бы вы подставить переменные к коду или отредактировать мой проект? просто не могу честно понять ( Если есть время! С уважением, Денис! Это сообщение отредактировал(а) Volkogriz - 25.10.2014, 00:57 Присоединённый файл ( Кол-во скачиваний: 2 ) ![]() --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
SaiLight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.9.2014 Репутация: 0 Всего: 0 |
Volkogriz, ваш проект у меня не компилируется, поэтому решил реализовать задачу в отдельном проекте - простое перемещение компонента Image с отскакиванием от краев формы. Как я и предполагал, алгоритм не дает реалистичной физики при отражении, но вполне может быть применен уже так или с некоторыми незначительными дополнениями. Если честно, не понимаю, зачем вам нужно именно перемещение объекта в невидимом состоянии, когда можно просто создавать (показывать) его в случайном месте на форме.
Присоединённый файл ( Кол-во скачиваний: 13 ) ![]() |
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Я бы с удовольствием так бы и сделал!
Я просто ни когда не имел дела с графикой и без наглядного пособия я буду долго вкуривать))) Огромное спасибо за помощь! С уважением, Денис! --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
SaiLight |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 30.9.2014 Репутация: 0 Всего: 0 |
Обращайтесь любыми удобными вам способами - помогу, чем удастся. А со случайными координатами - вообще просто:
|
|||
|
||||
Volkogriz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 216 Регистрация: 16.9.2007 Репутация: нет Всего: 1 |
Благодарю!!!
Вроде сейчас более красивей бегает блин)) Обращусь обязательно! С уважением, Денис! --------------------
("`-''-/").___..--''"`-._`6_6 ) ,,,`-. ( ''' ).` "_-.__.')(_Y_.)' ._''' ) `._ `. ``-.__'.-'_..`--'_..-_/'''/--'_.' ,'(il).-'''''(li).' ((!.-' |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Звук, графика и видео" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |