|
3D-программирование Вопросы, касающиеся программирования 3D мира |
08.10.2007, 13:57
|
#1
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
EntityDistance между обьектами одного типа
type chel
field c_pivot; сфера !!
field c_entity; модель, которая прикреплена к c_pivot !!
end type
ВАРИАНТЫ:
if EntityDistance(s\c_entity,s\c_pivot) < 100 then
...
endif
if EntityDistance(s\c_entity,s\c_entity) < 100 then
...
endif
if EntityDistance(s\c_entity,s\c_entity) < 100 and EntityDistance(s\c_pivot,s\c_pivot)<10 then
...
endif
ну, еще много таких же привести !!
ПРОБЛЕМА:
заключается в том что когда
for s.chel = each chel
.....
next
то EntityDistance ищется для одного и того же обьекта типа !!
т.е. вот это:
if EntityDistance(s\c_entity,s\c_pivot) < 100 then
...
endif
означает условие при которое будет True когда pivot обьекта и его модель будут на дистанции меньше 100, т.е. оно всегда True !!
Ваши идеи по этому поводу ??
|
(Offline)
|
|
08.10.2007, 14:13
|
#2
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: EntityDistance между обьектами одного типа
Читать текущий фиелд и предыдущий
Значит чтобы найти предыдущий устанавливаем Хендл . Потом считываем его так:
beforepivot = before object.Chel(nameChel)
. И теперь у нас есть ссылка на предыдущий элемент списка. Ну дальше думаю додумаешь(сорри за тафтологию ).
|
(Offline)
|
|
08.10.2007, 15:19
|
#3
|
Дэвелопер
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений (для 774 пользователей)
|
Re: EntityDistance между обьектами одного типа
вот передумал и решил тебе предложить сделать так:
Включаем в цикл перебора всех ботов, еще такой же цикл:
for c.chel = each chel
...
for d.chel = each chel
entitydistance(c\entity, d\entity) ...
next
...
next
Вот так сработает, только прийдется оптимайзить если у тебя много таких списков будет, так что используй экономично.
|
(Offline)
|
|
08.10.2007, 15:24
|
#4
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: EntityDistance между обьектами одного типа
и тогда проверка будет только с предедущим елементом типа !!
|
(Offline)
|
|
08.10.2007, 15:34
|
#5
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: EntityDistance между обьектами одного типа
вот передумал и решил тебе предложить сделать так:
Включаем в цикл перебора всех ботов, еще такой же цикл:
for c.chel = each chel
...
for d.chel = each chel
entitydistance(c\entity, d\entity) ...
next
...
next
Вот так сработает, только прийдется оптимайзить если у тебя много таких списков будет, так что используй экономично.
|
понял !! для 10 челов 90 проверок !!
|
(Offline)
|
|
08.10.2007, 16:44
|
#6
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: EntityDistance между обьектами одного типа
Что-то Булка совсем деградировала
посты, как на ГеймсАнатоми - такие же бредовые и самоуверенные.
Ханон, не знаешь, не делал - не пиши !!!
Сойдешь за умного.
По теме:
For d.chel = Each chel
BlaBla(c\entity)
Next
.....
Function BlaBla(entity)
For d.chel = Each chel
If c\entity<>entity
If EntityDistance(c\entity,entity)<100
Действие
EndIf
EndIf
Next
End Function
__________________
|
(Offline)
|
|
08.10.2007, 18:30
|
#7
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: EntityDistance между обьектами одного типа
о !! tormoz, врубил !!
спасибо !!
если у меня заработает, то я буду very счаслив !!
|
(Offline)
|
|
09.10.2007, 11:58
|
#8
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: EntityDistance между обьектами одного типа
Вотс пример демонстрирующий ярко выраженою кривизну рук !!
Вложение 4854
|
(Offline)
|
|
09.10.2007, 14:25
|
#9
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: EntityDistance между обьектами одного типа
эй, посмотрите - помогите !!
Это всего лиш 14 Кб !!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:03.
|