Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333

Движение компонента Image по форме

12.10.2012, 19:24. Показов 4691. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите составить программу. Компонент Image(картинка) должна сама двигаться по форме (не случайно) не выходя за пределы её, подходя к борту она должна от него отталкиваться и двигаться только по диагоналям. Пожалуйста!

Добавлено через 22 секунды
Кто решит - тот гений!

Добавлено через 32 минуты
ПОМОГИТЕ!!!!!!!!!!!!!!1
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.10.2012, 19:24
Ответы с готовыми решениями:

Взаимодействие компонента Image и DLL
Доброго всем времени суток! Имеется такой код: procedure TForm1.FormCreate(Sender: TObject); var CounterX: integer; ...

Динамическое создание компонента Image
procedure createimage ; begin form2.OpenDialog1.Execute; image:=Timage.Create(form2.ScrollBox2); image.Parent:=(form2.scrollbox2);...

Реализовать эффект вдавливания у компонента Image
Приветствую. Имеется компонент Image. Как сделать чтобы при нажатии на него был эффект как при нажатии на Button... То есть как-бы...

12
10 / 10 / 1
Регистрация: 20.04.2012
Сообщений: 288
12.10.2012, 20:01
я уже спрашивал раньше про это, полистай, мне отвечали
0
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
12.10.2012, 20:14  [ТС]
cargerdree, Полистал. Ничего похожего у тебя в темах не нашел. Мне нужно чтобы картинка двигалась сама по форме без нажатия клавиш(любых) и по диагонали!!!!!!!!!!
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
12.10.2012, 21:15
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Двигатся она будет. Если ты кинешь на форму TTimer и пропишешь код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
L,T,VelL,VelT, X, Y: single; //переменые кинь в раздел глобальных
begin
//задаем переменым значения
L:=Image1.Left;
T:=Image1.Top;
X:=L+VelL;
y:=T+VelT;
//проверяем где шарик
if X>ClientWidth-Image1.Width then 
VelL:=-VelL;
if X<0 then 
VelL:=-VelL;
if Y>ClienHeight-Image1.Width then 
VelT:=-VelT;
if y<0 then 
VelT:=-VelT;
//двигаем картинку
Image1.Ledt:=X;
Image1.Top:=Y;
end;
Интервал у таймера на 20-30. А в процедуру FormCreate, вот этот код:
Delphi
1
2
VelL:=10; //например
VelT:=10;//например
Всё.
1
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
13.10.2012, 12:39  [ТС]
саша40, двигается то он двигается, но вот до нижнего борта не доходит и отталкивается от невидимой линии и ещё - очень медленное движение, а надо чтобы картинка бегала быстро и плавно. Плавно - это уменьшить интервал, а быстро?

Добавлено через 19 минут
Со скоростью и плавностью настроил.


Добавлено через 1 час 6 минут
А ВОПРОС ЕЩЕ! КАК СДЕЛАТЬ ЧТОБЫ ПРИ УМЕНЬШЕНИИ ФОРМЫ КАРТИНКА ЗА ФОРМУ НЕ ВЫХОДИЛА?

Добавлено через 10 минут
При уменьшении или растягивании формы картинка не должна выходить за рамки формы вообще!!!!!!!!!!!!!!!!!!!!!!!!! ПОМОГИТЕ!

Добавлено через 1 час 2 минуты
Когда форму тянешь в бок или вверх или вниз картинка должна оставаться в форме, с какой скоростью бы не тянул. Помогите добавьте код!
0
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
13.10.2012, 13:11
Регулируй скорость картинки и меняй интервал таймера

Добавлено через 1 минуту
Цитата Сообщение от Савва Посмотреть сообщение
КАК СДЕЛАТЬ ЧТОБЫ ПРИ УМЕНЬШЕНИИ ФОРМЫ КАРТИНКА ЗА ФОРМУ НЕ ВЫХОДИЛА?
я тебе это прописал. Картинка будет оталкиватся от края формы.

Добавлено через 49 секунд
Цитата Сообщение от Савва Посмотреть сообщение
При уменьшении или растягивании формы картинка не должна выходить за рамки формы вообще!!!!!!!!!!!!!!!!!!!!!!!!! ПОМОГИТЕ!
Если она немного, то надо подправить код.
0
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
13.10.2012, 13:43  [ТС]
саша40, когда резко сокращаю форму, картинка не успевает и остается за формой!

Добавлено через 3 минуты
или еще иногда застревает и по одной линии движется. Если аккуратно уменьшать форму тогда пойдет все работает, а если быстро двигать картинка оказывается за бортом формы!
0
angstrom
13.10.2012, 13:44
OnCanResize - при попытке изменить размер.
OnResize - изменили размер.
Отталкивайся от этих двух событий.

При зацикливании, во многих играх поступают так: наращивается некий счётчик повтора движений, если некоторое время изменений в движении не происходит, делается принудительное изменение его.
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
13.10.2012, 14:27  [ТС]
angstrom, я не понял как. Помогите пожалуйста.
0
angstrom
13.10.2012, 15:15
OnCanResize наступает при попытке изменить размер, можно в этом момент запретить таймер, а в OnResize разрешить.
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
13.10.2012, 15:17  [ТС]
angstrom, а куда это прописывать в какую процедуру?

Добавлено через 35 секунд
angstrom, и в uses что надо прописывать?
0
Избранный
 Аватар для sumrak95
83 / 83 / 42
Регистрация: 08.06.2012
Сообщений: 174
13.10.2012, 15:26
Это событие, его нужно создать на форме, также как OnCreate (например)
0
10 / 10 / 0
Регистрация: 12.04.2012
Сообщений: 333
15.10.2012, 18:32  [ТС]
Нет не то. Давайте заново сформулирую задачу. Надо чтобы компонент (картинка) двигался по диagонали и отталкивался от бортов. При уменьшении формы (быстрой) он вскоре возвращался туда. Сделать, объявив только 2 бyлeвыe переменные и через 4 ycлoвия. Помогите срочно!

Добавлено через 1 час 47 минут
.....

Добавлено через 15 секунд
.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.10.2012, 18:32
Помогаю со студенческими работами здесь

Движение image по таймеру
Здравствуйте, ребят помогите пож. готовым кодом, по форуму ищу но все не то... В общем, мне нужно чтоб image летал по форме по таймеру,...

Движение круга на image
Я хочу на компоненте image создать двигающий круг. Но у меня это не получается, вот на форме получается: св-во form1.color = clgreen;...

Движение картинки (Image)
Помогите реализовать следующие: - Нужно что бы картинка двигалась справа уходя за предел формы, а потом возвращалась в зеркальном...

Движение Image по центру
Image должна двигаться по форме вслед за курсором, При чем саму Image я недолжен брать мышкой (щелкать на ней). Задача такая: Как...

Движение компонента Shape по графику на канве
Доброго времени суток! Существует проблема. На компоненте Image построил кривую Безье с помощью метода: Image.Canvas.PolyBezier(m). Для её...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru