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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 08.10.2007, 13:57   #1
IGR
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
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: EntityDistance между обьектами одного типа

Читать текущий фиелд и предыдущий

Значит чтобы найти предыдущий устанавливаем Хендл . Потом считываем его так:

beforepivot = before object.Chel(nameChel)
. И теперь у нас есть ссылка на предыдущий элемент списка. Ну дальше думаю додумаешь(сорри за тафтологию ).
(Offline)
 
Ответить с цитированием
Старый 08.10.2007, 15:19   #3
H@NON
Дэвелопер
 
Регистрация: 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
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: EntityDistance между обьектами одного типа

и тогда проверка будет только с предедущим елементом типа !!
(Offline)
 
Ответить с цитированием
Старый 08.10.2007, 15:34   #5
IGR
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
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 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
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: EntityDistance между обьектами одного типа

о !! tormoz, врубил !!
спасибо !!
если у меня заработает, то я буду very счаслив !!
(Offline)
 
Ответить с цитированием
Старый 09.10.2007, 11:58   #8
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: EntityDistance между обьектами одного типа

Вотс пример демонстрирующий ярко выраженою кривизну рук !!

Вложение 4854
(Offline)
 
Ответить с цитированием
Старый 09.10.2007, 14:25   #9
IGR
Blitz's Shame !!
 
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений
(для 2,013 пользователей)
Re: EntityDistance между обьектами одного типа

эй, посмотрите - помогите !!
Это всего лиш 14 Кб !!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
переход между уровнями ... drave 3D-программирование 24 07.10.2009 16:51
pilgrim, на тебя одного надежда! помоги со своей либой! ARV Основной форум 6 01.10.2007 23:49
При попытке копирования Ентити из филда одного типа в другой блиц почему-то ругается Belamore 3D-программирование 19 11.09.2007 22:31
Столкновение обьектов из одного типа Atomikc 2D-программирование 2 21.05.2007 18:36
Проход между комнатами Progger_Leo 3D-программирование 21 31.12.2006 20:37


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


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