Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Вниз

и снова этот гадский :) DoCollision   Найти похожие ветки 

 
Мортимер   (2005-11-24 22:06) [0]

вобщем у меня такой вопрос к вам:
у меня в игре спрайт монстра создается много раз (что б получилось много монстров), но я не знаю как задать процедуру Collision когда спрайт сталкивается сам с собой, тоесть спрайт монстра сталкивается со спрайтом монстра с таким же именем


 
DR0N ©   (2005-11-24 22:39) [1]

Не используй DelphiX, пиши руками тогда все просто... выходы есть, но боюсь что по советую что-то не рациональная т.к. много лет уже DelphiX не использовал ;)


 
XProger ©   (2005-11-24 23:34) [2]

А нельзя апроксимировать спрайт окружностью или прямоугольником? ИМХО проще и быстрее считать будет ;)


 
Мортимер   (2005-11-24 23:50) [3]

2XProger а поподробнее можно?


 
grouzd[E]v ©   (2005-11-24 23:53) [4]

А что вообще нужно сделать - проверить столкновение или обработать его?

А так перевожу на русский =)
[1] DelphiX бяка, лучше писать на чистом GL / DX (впрочем, это и мое имхо) =)
[2] можно проверять столкновение фигур, описавющих твой спрайт:
    а) сфер
    б) прямоугольников
про столкновения - на http://algolist.manual.ru/maths/geom/intersect/

---
... we are walking on a thin line and you better avoid the risk ...


 
XProger ©   (2005-11-25 00:35) [5]

Мортимер, представь, что у тебя не спрайти а круги или квадратики сталкиваются...


 
Новичек:)   (2005-11-25 01:12) [6]

а...


 
Мортимер   (2005-11-25 01:14) [7]

2ХПрогер тоесть надо чтоб рядом с каждым спрайтом двигался ще и круг? О_о


 
XProger ©   (2005-11-25 05:00) [8]

Мортимер, нет! Каждый спрайт по сути и будет кругом, только никто этого не увидит! Вся математика спрайтов - расчёт столкновения кругов друг с другом.


 
Кефир87 ©   (2005-11-25 20:47) [9]

Забей на круги! Не думай о них! Вспомни теорему пифогора о том что квадрат гипотенузы равен сумме квадратов катитов или гипотенуза равна корню из суммы квадратов катитов. Так вот представь что положение твоих монстров представляется как X,Y, так? Если монстров обозначить как M1 и M2 то катеты будут:
M2.X - M1.X
M2.Y - M1.Y

Гипотенуза = sqrt(sqr(M2.X - M1.X)+sqr(M2.Y - M1.Y));

А гипотенуза это расстояние между ними! Так вот если принять то условие что монстры это круги, то если гипотенуза (скалярное значение - расстояние) меньше суммы радиусов двух кругов значит они столкнулись. А дальше уже надо решить что с ними делать.

А на счет DelphiX, нужно забить! Но можно не слишком резко. Например для начала оставить из него только DXDraw, DXImageList, DXInput и DXSound и сделать свой спрайтовый движок. А потом двигаться дальше и изучать OpenGL 8)))


 
Antonn ©   (2005-11-26 06:16) [10]

Мортимер   (25.11.05 1:14) [7]
в общем, представь, что у тебя не замудренные спрайты, а обычные кружки такого же размера. проверяй столкновения кружков, а на их координатах рисуй спрайты.


 
Кефир87 ©   (2005-11-27 01:34) [11]


> Antonn ©   (26.11.05 06:16) [10]


Я это и сказал 8)


 
XProger ©   (2005-11-27 03:05) [12]

> Antonn ©   (26.11.05 06:16) [10]

Я это и сказал 8)


 
Antonn ©   (2005-11-27 08:34) [13]

Кефир87&XProger
а теперь перечитайте свои последние посты:)


> Мортимер, нет! Каждый спрайт по сути и будет кругом,
> только никто этого не увидит! Вся математика спрайтов
> - расчёт столкновения кругов друг с другом.

Очень глубокомысленно, по-филосовски:) Без пол-литра не понять:)


> Забей на круги! Не думай о них!

во-во:) лучше думать о теореме пифагора:))


 
XProger ©   (2005-11-27 12:26) [14]

Antonn, ну в школах всегда есть группы отсталых детей, которым приходится всё по 100 раз на пальцах объяснять, ито маловероятно, что поймут... таких не берут в космонавты! ;)


 
Кефир87 ©   (2005-11-27 20:17) [15]


> во-во:) лучше думать о теореме пифагора:))

Естественно! А как можно делать что-то, без понимания того что делаешь?! 8)



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
15-1153327422
Piter
2006-07-19 20:43
2006.08.13
Трудовая книжка vs Студенты :)


15-1152965102
Андрей Пазик
2006-07-15 16:05
2006.08.13
Вот ТАК! нужно бороться с коррупцией


6-1143618622
MegaVolt
2006-03-29 11:50
2006.08.13
Как тестировать сетевое приложение?


3-1149767124
DVM
2006-06-08 15:45
2006.08.13
Логический тип данных и три состояния CheckBox в Access


6-1143638230
NetLamer
2006-03-29 17:17
2006.08.13
клиент/сервер приложение





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский