Тема: Physical engine
Показать сообщение отдельно
Старый 10.08.2005, 15:43
руль вне форума Посмотреть профиль Отправить личное сообщение для руль Найти все сообщения от руль
  № 67  
Ответить с цитированием
руль
 
Аватар для руль

Регистрация: May 2002
Адрес: Литва
Сообщений: 109
Отправить сообщение для руль с помощью ICQ
Цитата:
Сообщение от KidsKilla
2 руль
а вот ты не понял.
1) чушь. вектор-растр не имеет значения. это реальные пиксели.
2) для того чтобы понять смысл слов. но, вижу, трудно.
ктоме такатовских слов: чтобы использовать хитТест надо мувик сначала переместить. а это бред. если что-то не понятно перечитай предыдущее. а мне надоело.
1) причем тут реальные пиксели ? флэш, если не ошибаюсь, векторный до мозга костей. Неужели ты думаешь что флэшевский хиттест работает по принципу - совподает ли координата любого пикселя из первого мувика с координатой какого-либо пикселя из второго. Если бы это было так то во флэше можно былоб узнать факт столкновения двух произвольных мувиков не прямоугольной формы используя только его.
2) почему бы не подумать шире. Переместил мувик - хиттест сказал что 2 обьекта столкнулись - переместил мувик назад в положение которое он занимал до столкновения. Другое дело что может придется решать проблему о которой говорил Takato - но эту проблему решать придется не зависимо от того используется хиттест или нет (хотя он тут тоже может помочь), в конце-концов всегда можно ограничится или достаточно большими обьектами или достаточно малыми скоростями.
теперь насчет твоего примера:
складывается впечатление что ты его привел чтобы показать свою крутость в понимании ООП. Потому что первый способ о котором ты говоришь взят с потолка. В любом случае используешь ты хиттест или делаешь все "по формулам" ты работаешь не с изображениями мувиков на экране а с ними самими т.е. с обьектами с их полями и методами.
поясню на том-же самом примере

var Ion = new Object();
Ion.age = 20; // да на основании пола, возраста, и веса вычислить столкнешься ты со стеной или нет =)
Ion.sex = male;
Ion.weight = 80;
Ion.shape = new Object() // тут задается векторная форма твоего тела неважно каким образом
далее пишешь метод Ion.shape.hittest(Object) который вычисляет пересекается-ли Ion.shape с Wall.shape. Также впринципе делает и хиттест просто это скрыто.
__________________
Все что не делается - все к лучшему
Все что к лучшему - то не делается