Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2011, 23:44   #1
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
Вопрос Определить столкновение объектов TImage (Delphi)

Нужно сделать столкновение. Тоесть, если image1 хоть как-то цепляет image2, то нужно вывести сообщение, как узнавать размер и положение, а потом сравнивать? Или можно по другому?
Пишу на Delphi.
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 23.03.2011, 01:35   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Я не знаю как в делфи.. но вообще у картинки есть координата х, у, ширина и высота...
Вот и сравнивайте.. пересекается ли первый прямоугольник с картинкой со вторым...
Вот еще два варианта:
http://create.msdn.com/en-US/educati...el_transformed
http://algolist.manual.ru/maths/geom..._intersect.php
dampirik вне форума Ответить с цитированием
Старый 23.03.2011, 06:29   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Не используйте Image! Рисуйте на канве формы!
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 23.03.2011, 14:57   #4
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Цитата:
Не используйте Image! Рисуйте на канве формы!
Решил сначала по простенькому, потом через канвас, а потом глядишь и в 3d переберусь...
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Старый 23.03.2011, 19:26   #5
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Оно, конечно, просто, но уже при десятке бегающих по форме объектов типа TImage вы поймете порочность системы.
Рисовать на канве на самом деле несложно. В голову приходят функции CopyRect, Draw, Rectangle, Ellipse, LoadFromFile (для TBitmap)... Это практически все, что вам может понадобится, если не изобретать чего-то уж совсем фантастического.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 23.03.2011, 19:44   #6
ImmortalAlexSan
Участник клуба
 
Аватар для ImmortalAlexSan
 
Регистрация: 13.01.2009
Сообщений: 1,353
По умолчанию

Цитата:
Решил сначала по простенькому, потом через канвас, а потом глядишь и в 3d переберусь...
Зачем мучать себя тем, что к 3d никакого отношения не имеет? Работайте сразу с 3d. А насчет столкновений могу посоветовать следующее: я бы делал через TBitmap и метод ScanLine, таким образом я буду знать границы изображения, а потом на канву формы копировал бы как Гром написал, а столкновения рассчитывал бы, ну к примеру по частоте обновления экрана, или когда пользователь что-то активирует, там нажал кнопку влево, объект пошел, начался рассчет, или заведомо знать все места столкновений (для статического мира). Это не очень сложно.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
ImmortalAlexSan вне форума Ответить с цитированием
Старый 23.03.2011, 21:01   #7
misher
Участник клуба
 
Аватар для misher
 
Регистрация: 26.05.2010
Сообщений: 1,648
По умолчанию

Спапсибо за ответы и ссылки, переделаю на TBitmap будет проще и быстрее...
This world will never be What I expected (c)
misher вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Столкновение шариков в delphi vladlen1993 Помощь студентам 4 08.10.2010 15:11
Массив из объектов TImage (delphi) Alt Помощь студентам 4 07.02.2010 22:20
Столкновение шаров, Delphi Absentik Помощь студентам 0 10.12.2009 18:15
[Delphi] Как предотвратить столкновение обьектов Kolhan Помощь студентам 2 03.05.2009 14:17
Столкновение объектов [Smarik] Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 27.09.2008 16:54