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

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

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

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

Ответ
 
Опции темы
Старый 04.01.2013, 14:23   #16
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Удаление типа и ссылок на него.

Как только корова начинает его есть - его сразу же необходимо удалять из списка, чтоб другая корова не смогла сьесть по сути уже жующийся куст.
возможен вариант что несколько коров могут есть один и тот-же куст.

Мож есть какие способы понять удален ли энтитя?
Ответ на этот вопрос я тут пока не видел, потому отвечу.
;создаем обьект
cube = CreateCube()

;удаляем
FreeEntity cube
cube = 0

;проверяем существование
if cube <> 0
  ;обьект существует
end if
P.S. список можно также проверять:
Type Mytype
 Field ent
End Type

;создаем обьект
tmp.Mytype = new Mytype

;удаляем
Delete tmp

;проверяем существование
if tmp <> Null
  ;обьект существует
end if
__________________
AMD Sempron(tm) 1.41Ггц, 1024МБ ОЗУ, GeForce 6200 128МБ, WinXP SP3.
(Offline)
 
Ответить с цитированием
Старый 04.01.2013, 17:27   #17
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Удаление типа и ссылок на него.

Сообщение от Diablo1909 Посмотреть сообщение
2tormoz

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

Если куст находится в списке - значит он еще не сьеден. Как только корова начинает его есть - его сразу же необходимо удалять из списка, чтоб другая корова не смогла сьесть по сути уже жующийся куст. ( ну или флаг состояния менять )

2CRASHER

Правильно. Но можно и обойти это ограничение, путем сдвига координат.
не надо.
Правильно организованный код:
в апдейте травы только трава, рост и тд. Лучше по таймеру.
в апдейте коров - поиск травы, еда, удаление. Запуск функции удаления ТОЛЬКО по условию (не каждый цикл).
перебирать траву в функции удаления не обязательно, экземпляр типа находить можно обжектхендлом, а вот перебрать коров придется, но тормозов не будет - функция вызывается по событию.
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 02:53   #18
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

Народ, я решил переделать на хендлы. При попытке коровы назначить ближайщий куст "аппетитным" происходит проверка хендла на Null. Дописал еще возможность 3 коровам одновременно кушать один куст.

RBK, об этом и еж в тумане осведомлен)) А вот трабла то с ссылкой. Прированяй элемент массива из типа "корова" к типу "трава", то есть...
Тип корова
филд вкусные кусты[99]
енд тип

вкусные кусты[i]=трава\Энтити

удали трава\Энтити и проверь трава\Энтити и ссылку на него
имеем
трава\Энтити=0
кусты[i]=432579357

следственно только хендлы или через пивот, что наверно все таки сложнее чем хендл.
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 02:57   #19
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

Diablo1909, При сдвиге наверно нужно будет переназначать секторам где какая трава была. Тоесть в секторе (0,0) было 3 куста, в секторе (1,1) 2 куста. Смещаем, получается в новом (0,0) нет кустов, в (1,1) 3 куста, в (2,2) 2 куста. так?)
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 03:02   #20
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

tormoz, а что ты имеешь в виду говоря "Лучше по таймеру" ?
Я сделал на апдейт коров ограничение, если превышен лимит времени, то выполняется Exit из For и записывается последний индекс, с которого в следующем глобальном проходе продолжается цикл. Ты не это хотел сказать?
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 03:37   #21
RBK
Знающий
 
Аватар для RBK
 
Регистрация: 06.12.2010
Адрес: Луганск
Сообщений: 252
Написано 112 полезных сообщений
(для 166 пользователей)
Ответ: Удаление типа и ссылок на него.

Сообщение от CRASHER Посмотреть сообщение

RBK, об этом и еж в тумане осведомлен)) А вот трабла то с ссылкой. Прированяй элемент массива из типа "корова" к типу "трава", то есть...
Тип корова
филд вкусные кусты[99]
енд тип

вкусные кусты[i]=трава\Энтити

удали трава\Энтити и проверь трава\Энтити и ссылку на него
имеем
трава\Энтити=0
кусты[i]=432579357
Что-то ты не то придумал
Type grass
Field ent ;модель травы
End Type

Type cow
Field eat.grass[99]
End Type

;создаем траву
mygrass.grass=New grass

;создаем корову
my.cow=New cow

;запоминаем траву
my\eat[1]=mygrass

;удаляем траву
Delete mygrass

;здесь my\eat[1] будет равно Nul
If my\eat[1] <> Null
  ;обьект существует если не удалили
 my\eat[1]\ent  ;модель травы
End If
спрашивай если что не понятно.
__________________
AMD Sempron(tm) 1.41Ггц, 1024МБ ОЗУ, GeForce 6200 128МБ, WinXP SP3.
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 04:08   #22
tormoz
Гигант индустрии
 
Аватар для tormoz
 
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений
(для 4,437 пользователей)
Ответ: Удаление типа и ссылок на него.

Сообщение от CRASHER Посмотреть сообщение
tormoz, а что ты имеешь в виду говоря "Лучше по таймеру" ?
Я сделал на апдейт коров ограничение, если превышен лимит времени, то выполняется Exit из For и записывается последний индекс, с которого в следующем глобальном проходе продолжается цикл. Ты не это хотел сказать?
Заведи таймер и апдейть траву не каждый проход, а каждые 200-400 мс.
А сектора и прочие извраты тут не нужны- попытайся вкурить что я выше написал
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 04:40   #23
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

RBK, вопрос звучит как?) "Удаление типа и ссылки на него". В первом посте сказал что делал не через хендлы. Теперь уже переделал на хендлы, и да, проверить их на Null легко. Я думал что ссылку моно тоже как то... того... при ошибке(не выводя саму ошибку). А я элемент как у тебя my\eat[1] приравнивал к самому энтиту. Из за этого и еррор. Спасибо конечно)) За старание!)
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 04:44   #24
Черный крыс
 
Сообщений: n/a
Ответ: Удаление типа и ссылок на него.

CRASHER

Все кусты заносятся в сектора на стадии инициализации. И все смещения определяются заранее.

А сектора и прочие извраты тут не нужны- попытайся вкурить что я выше написал
Не спорю, в случае с Blitz3D - это будет извратом. =)
 
Ответить с цитированием
Старый 05.01.2013, 05:11   #25
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

Diablo1909, а ты знашыт меня на из врат толкаешь да?)
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 05:19   #26
Черный крыс
 
Сообщений: n/a
Ответ: Удаление типа и ссылок на него.

CRASHER

Я тебя толкаю бросить этот недо-язык, и пересесть хотя бы на BlitzMAX. Там такой метод не будет извратом.
 
Ответить с цитированием
Старый 05.01.2013, 05:56   #27
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

Diablo1909, не но ведь B3D для чего то же существует? Ведь есть же разница между ними, и что же в Бмаксе такого особенного чего нет в B3D? Хors с директом в B3D есть и вроде достатошно))
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 06:55   #28
Черный крыс
 
Сообщений: n/a
Ответ: Удаление типа и ссылок на него.

Запорожец тоже для чего то существовал... но сегодня на нем почти никто не ездит.

Все тонкости описаны здесь : http://g3d-program.narod.ru/stat/beginer_blitz.htm
 
Ответить с цитированием
Старый 05.01.2013, 17:41   #29
CRASHER
Разработчик
 
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений
(для 36 пользователей)
Ответ: Удаление типа и ссылок на него.

Diablo1909, мне кажется или на БМ мало кто сидит? Я какой пример ни качну с булки, все на B3D)))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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