Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 10.04.2007, 07:17   #1
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Плохо PositionEntity = MoveEntity

Недавно столкнулся с такой фичей, может кто не знает, будет полезно иметь ввиду.
Всегда считал, что MoveEntity - это передвижение объекта по прямой, а PositionEntity - позиционирование объекта в какой-то точке. Оказывается не все так просто, PositionEntity то же самое перемещение по прямой, только указываем конечный пункт назначения, а не векторы передвижения.
К примеру, если вы захотите перепозиционировать объект, имеющий некоторые коллизии, и на пути перемещения этого объекта при использовании PositionEntity будут эти самые коллизии, то они самым прямым образом повлияют на вектор движения объекта, и он окажется не там, где вам хотелось бы его видеть.
Вотъ.
(Offline)
 
Ответить с цитированием
Старый 10.04.2007, 10:42   #2
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: PositionEntity = MoveEntity

Знаю. Было такое, когда делал игру в топике "Совместное занятие =)". Я тогда думал, что это я ошибся, оказыватся не.
(Offline)
 
Ответить с цитированием
Старый 10.04.2007, 11:11   #3
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: PositionEntity = MoveEntity

Да нет, это не тоже что и перемещение, это просто специфика работы коллизионной системы такая - проверка ентитей происходит с старыми координатами, а новые уже после этого применяются.
Так что разница есть:
либо присвоить координаты в PositionEntity()
либо прибавить координаты в TranslateEntity() или с учетом ориентации в MoveEntity()
В обход этого можно отключать коллизию перед перемещением
EntityType(Энтити, Неиспользуемый_номер_коллизий)
PositionEntity(Энтити,...)
EntityType(Энтити, Номер_коллизии_Энтити)
(Offline)
 
Ответить с цитированием
Старый 10.04.2007, 11:46   #4
stone_evil
ПроЭктировщик
 
Регистрация: 17.10.2006
Сообщений: 170
Написано 18 полезных сообщений
(для 42 пользователей)
Re: PositionEntity = MoveEntity

Не понял, как может происходить проверка энтити со старыми координатами, если в момент перемещения энтити вообще ни с чем не колизится, и колизиционные объекты находятся совсем не рядом, а лишь на линии перемещения из точки А в точку Б, но суть не в этом: да, верное решение - применение EntityType.
(Offline)
 
Ответить с цитированием
Старый 10.04.2007, 17:27   #5
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: PositionEntity = MoveEntity

Ты непонял, проверка коллизий происходит до перемещения ентити в новые координаты, а потом уже по результатам проверки происходит перемещение обьекта на новый вектор в соотвествии с коллизиями, вроде того:
Пользователь: установка новые_координаты
Движок:проверка коллизий по вектору старые_коордианты->новые_коордианты

Движок:по вектору есть препятствие => установка новые_коордианты
ИЛИ
Движок:по вектору нет препятствий

Движок:перемещаю ентити в новые_коордианты
(Offline)
 
Ответить с цитированием
Старый 10.04.2007, 17:30   #6
Черный крыс
 
Сообщений: n/a
Re: PositionEntity = MoveEntity

тоже в свое время столкнулся с это особенностью блитца....=) - При загрузке уровня и расстановке обьектов - присваиваем им Entitytype(), и потом тока в самом конце загрузки устанавливаем коллизии. Ну а как передвинуть обьект в цикле....то это хорошо рассказал Платон.
 
Ответить с цитированием
Старый 10.04.2007, 19:55   #7
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Re: PositionEntity = MoveEntity

Я уже так привык к этой фигне. что не замечаю ее
__________________
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с PositionEntity, не думал что я это спрошу) klopmaks Blitz3D 21 31.07.2009 21:05
Проблема с MoveEntity BlackDragon 3D-программирование 9 20.07.2007 18:57


Часовой пояс GMT +4, время: 11:46.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com