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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2010, 18:40   #11
Fire ShadoW
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 11
По умолчанию

Выложи плиз проверку столкновений по сторонам прямоугольника, если не трудно, очень надо
Fire ShadoW вне форума Ответить с цитированием
Старый 07.03.2010, 21:44   #12
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Вот для квадратов, если надо изменишь под прямоугольники без проблем:
Код:
Function RectCollision(X1,X2,Xpix:integer;Y1,Y2,Xpix2:integer):integer;
{Параметры:
X1,Y1 - координаты квадрата 1
X2,Y2 - координаты квадрата 2
Xpix - ширина квадрата 1
Xpix2 - ширина квадрата 2


Возвращаемые значения:
1 - пересечение по X
2 - пересечение по Y
3 - пересечения по X и Y (столкновение)
0 - нет пересечкний и столкновений
}
begin
Result:=0;
if (X1+Xpix>X2) and (X1<X2+Xpix) then Result:=2;
if (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2) then Result:=1;
if (X1+Xpix>X2) and (X1<X2+Xpix) and (Y1+Xpix2>Y2) and (Y1<Y2+Xpix2)  then Result:=3;
end;
Вадим Буренков вне форума Ответить с цитированием
Старый 07.03.2010, 22:06   #13
Fire ShadoW
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 11
По умолчанию

Я пишу игру и мне нужно, чтобы герой, натыкаясь на препятствие остановился(пишу на DelphiX). Как реализовать остановку героя перед препятствием(можно в теории) ? А за проверку спасибо =)
Fire ShadoW вне форума Ответить с цитированием
Старый 07.03.2010, 22:15   #14
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Я пишу игру и мне нужно, чтобы герой, натыкаясь на препятствие остановился(пишу на DelphiX).
Ну поставь условние столкновения и если true то останавливай.
Вадим Буренков вне форума Ответить с цитированием
Старый 07.03.2010, 22:30   #15
Fire ShadoW
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 11
По умолчанию

Вот как его остановить? как выставить координаты, чтобы герой не двигался?
Fire ShadoW вне форума Ответить с цитированием
Старый 08.03.2010, 11:15   #16
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

У объекта должна быть скорость и положение.
Каждую итерацию координата просчитывается так:
Код:
X:=X+Xspeed;
Y:=Y+Yspeed;
Если speed=0 то объект стоит на месте. Прежде чем задавать элементарные вопросы почитай тему создание игр для новичков...
Вадим Буренков вне форума Ответить с цитированием
Старый 08.03.2010, 12:43   #17
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Хм, http://www.gamedev.ru/code/articles/...onBasedPhysics
И примерчик на Delphi от меня, правда времени очень мало чтобы активно работать над вопросом моделирования физики.
Изображения
Тип файла: jpg 123.jpg (10.0 Кб, 85 просмотров)
Тип файла: jpg 321.jpg (77.0 Кб, 151 просмотров)
Вложения
Тип файла: rar Моделирование физики.rar (361.4 Кб, 34 просмотров)
Kostia вне форума Ответить с цитированием
Старый 08.03.2010, 12:51   #18
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Проверка лежит ли точка внутри выпуклого многоугольника проста.
Берем точку, в произвольном направлении пускаем луч из этой точки и если луч пересекает сторону один раз, то точка лежит внутри выпуклого многоугольника. А если не пересекает или пересекает 2 раза, то за его пределами.
И почти так же для любого многоугольника.
Kostia вне форума Ответить с цитированием
Старый 08.03.2010, 13:43   #19
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Интересный способ.
P.S. Только это наверно в темку про физику надо.
Вадим Буренков вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сопряжение окружностей GibiW Мультимедиа в Delphi 5 06.04.2009 23:18
Код проверки столкновений не работает. Манжосов Денис :) Общие вопросы Delphi 8 02.02.2009 10:31
Даны координаты центров n окружностей.... ZhooZhik Помощь студентам 3 09.01.2008 19:11
Добавление окружностей ivp88 Помощь студентам 3 14.02.2007 16:31