Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 28.08.2019
Сообщений: 3
RAD 2009-XE3

Проверка на столкновение картинок

28.08.2019, 17:37. Показов 2588. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проверка на столкновение картинок , есть 1 машинка которой управляю и остальные картинки в статистическом состоянии , нужно что бы когда машинкой дотронулся к любой из картинок выводило сообщение проиграл или победил не важно , пытался и через границы и через IntersectRect , программа запускается , но ничего не происходит , записывал в главную форму , может не туда записываю или не так пишу , может кто то помочь ?? буду очень благодарен.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.08.2019, 17:37
Ответы с готовыми решениями:

Столкновение картинок
Как сделать так, чтобы 1 картинка встретив вторую картинку за неё дальше не двигалась?

Проверка на столкновение
Есть массив со списком объектов на сцене. При нажатии стрелок, эти объекты двигаются, создавая перемещение. В центре сцены есть объект -...

Проверка на столкновение
Привет всем, кто может подсказать как проверить на столкновение 2 объекта не использовав Collider и Raycast. Спасибо всем.

8
 Аватар для Darkfor
11 / 7 / 4
Регистрация: 25.03.2019
Сообщений: 140
28.08.2019, 18:04
А в чем проблема сделать что-то типо этого:

C++
1
2
if (ShapeOfCar->Left + ShapeOfCar->Width >= Stena->Left)
 ShowMessage("Ha ha Loser!");
Добавлено через 17 минут
У меня все работает и с изображениями также. Но советую использовать не TImage, а TShape, после чего натягивать поверх него TImage (в инспекторе объектов просто выстави одни и теже координаты), и обязательно изменить свойство у Enabled на False у TImage. Так ты сможешь делать форму (Shape) в форме своей машинки и стены, и избежишь столкновений не машинкой, а рамкой невидимой у TImage, так как её форму ты изменить не сможешь в виде машинки, она всегда квадратная.
0
0 / 0 / 0
Регистрация: 28.08.2019
Сообщений: 3
28.08.2019, 18:17  [ТС]
то есть засунуть шейпы под картинки и основную машинку , так же двигать и шейп и картинку с машинкой , но при врезании будет использоваться не иммейдж , а шейп , я просто впервые пользуююсь шейпом и непонятно , ShapeOf - это функция (car) - это название шейпа под машинкой ? я правильно понимаю? и у каждой картинки нужно меня enabled ?
0
 Аватар для Darkfor
11 / 7 / 4
Регистрация: 25.03.2019
Сообщений: 140
28.08.2019, 18:42
Лучший ответ Сообщение было отмечено QWERTY4535 как решение

Решение

Цитата Сообщение от QWERTY4535 Посмотреть сообщение
то есть засунуть шейпы под картинки и основную машинку , так же двигать и шейп и картинку с машинкой , но при врезании будет использоваться не иммейдж , а шейп
Да, тут всё верно.


Цитата Сообщение от QWERTY4535 Посмотреть сообщение
ShapeOf - это функция (car) - это название шейпа под машинкой ? я правильно понимаю?
А вот тут уже нет. ShapeOfCar - это ВСЁ название Shape-a, просто я придумал такое шаблонное название, как пример.


Цитата Сообщение от QWERTY4535 Посмотреть сообщение
и у каждой картинки нужно меня enabled ?

Да, на самом деле я ошибся, это ты какраз можешь не трогат. Я просто когда делал кнопки из Shape-ов менял это свойство, чтобы курсор не взаимодействовал с картинками, а только с Shape-ами, потомучто картинки загораживали Shape-ы, и Shape-ы не реагировали на нажатия. Так что в данной программе
этого делать не надо.

Добавлено через 4 минуты
Цитата Сообщение от Darkfor Посмотреть сообщение
Так ты сможешь делать форму (Shape) в форме своей машинки и стены, и избежишь столкновений не машинкой, а рамкой невидимой у TImage, так как её форму ты изменить не сможешь в виде машинки, она всегда квадратная.
К этому, если что, Enabled не относиться, а относиться это:

Цитата Сообщение от Darkfor Посмотреть сообщение
Но советую использовать не TImage, а TShape, после чего натягивать поверх него TImage (в инспекторе объектов просто выстави одни и теже координаты)
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33371 / 21497 / 8234
Регистрация: 22.10.2011
Сообщений: 36,893
Записей в блоге: 12
28.08.2019, 18:47
Цитата Сообщение от Darkfor Посмотреть сообщение
советую использовать не TImage, а TShape, после чего натягивать поверх него TImage
Это еще на кой? На шейпах при минимальном приложении рук прекрасно рисуется изображение, TImage вообще не нужен.
0
0 / 0 / 0
Регистрация: 28.08.2019
Сообщений: 3
28.08.2019, 18:47  [ТС]
я не могу делать через TShape так как не смогу двигать машинкой потому что нужно менять enable , а без этого машинка не едет так что , я делаю так:
(на фото , нужно что бы машинка проехала прямо и врезалась )

C++
1
2
if (Image107(car)->Top >= Image1(stena)->Top + Image1->Height)
 ShowMessage("Ha ha Loser!");
но тогда мне выводит сообщение сразу после компиляции программы
Изображения
 
0
 Аватар для Darkfor
11 / 7 / 4
Регистрация: 25.03.2019
Сообщений: 140
28.08.2019, 20:38
Лучший ответ Сообщение было отмечено QWERTY4535 как решение

Решение

Я же говорю, Enable не надо менять, я ошибся. Ставь Enable = True. Кстати, это твоё Image107(car) это функция, или ты для меня эти скобки уже в сообщении добавил? А то функция это не правильно. И этот твой код не правильно написан.

Сначала, я лучше спрошу тебя, ты понимаешь что такое характеристика Top? Просто мне кажется ты просто не понял логику самой переменной. Отсчет Top идет не снизу, а сверху. То-есть в самом верху формы Top = 0, а внизу он уже равен высоте самой формы Height. Поэтому тебе сразу вначале выводит сообщение, что ты лузер (ничего личного)) ), так как топ машины уже больше, чтем то что ты написал после нее в условии. Поэтому рабочий код буде тыглядеть так:

C++
1
2
if (Image107(car)->Top <= Image1(stena)->Top + Image1->Height)
 ShowMessage("Ha ha Loser!");
Добавлено через 1 минуту
Я тебе даже инструкцию написал:

Добавлено через 2 минуты
Секундочку

Добавлено через 3 минуты
Вот:
1
 Аватар для Darkfor
11 / 7 / 4
Регистрация: 25.03.2019
Сообщений: 140
28.08.2019, 20:40
....
Миниатюры
Проверка на столкновение картинок  
1
 Аватар для Darkfor
11 / 7 / 4
Регистрация: 25.03.2019
Сообщений: 140
28.08.2019, 20:59
и вот:
Миниатюры
Проверка на столкновение картинок  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2019, 20:59
Помогаю со студенческими работами здесь

Проверка на столкновение
Делаю проверку на столкновение - смысл в том, что в каждый объект вставлен MovieClip под именем hit - собсно проверка идет при столкновении...

Проверка на столкновение кнопок
Привет! Вот какой вопрос. Как выглядит проверка на столкновение двух кнопок? т.е. Есть две кнопки и когда одна сталкивается с другой должно...

Проверка на загрузку только картинок
Здравствуйте, подскажите как в данном коде добавить проверку на загрузку только картинок с разрешением png, jpg, jpeg, gif. &lt;?php ...

Создание массива картинок, добавление их во фрейм!(с возможностью переключения картинок кнопкой)
Всем привет, как создать массив картинок? Имею в виду как добавить картинки в массив а потом переключать их с помощью кнопки? У меня...

перелистывание картинок (при неограниченном кол-ве картинок), используя пикчербоксы на C#
Здравствуйте. Как перелистывать картинки (при неограниченном кол-ве картинок), используя пикчербоксы на языке C#(желательно пример с кодом)?


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru