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

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

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

Ответ
 
Опции темы
Старый 30.03.2009, 19:14   #1
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Тип в типе & etc...

Здравствуйте.
Мне тут для одного дела очень понадобились типы в типах. Конкретно - я делаю бонусы в игре(а от бонусов у меня разные звёздочки летят красивые ), и у меня есть Тип Bonus в котором находится сам ентити бонуса и ещё тип Particle.
Выглядит это так:
Type Particle
Field p
End Type


Type Bonus
Field ent
Field p.Particle
End Type
Так, вот вроде и всё хорошо.
Вот так создаем по частице у каждого бонуса

For n=1 To 6
bb\p.particle=New Particle
bb\p.particle\p=LoadSprite("...",2)
Next


Но!!! А как теперь мне перечислить в цикле все частицы именно одного бонуса??????
То естьь вот здесь

For bb.Bonus=Each Bonus
For bb\p.particle=Each !!!
next
next

Если мы вместо этих знаков восклицания просто напишем Particle То перечислятся просто партиклы без привязанности к какому нибудь из бонусов!!! А мне например надо в одно мгновение удалить все частицы одноги из бонусов...

Я ещё подозреваю что в коде где я создаю партиклы нужно писать не New Particle, а что-то тоже указывающее не текущий бонус.


Вот такая заморочка, помогите разобраться...Спасибо

Последний раз редактировалось ELIAS, 30.03.2009 в 19:59.
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 19:23   #2
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Тип в типе & etc...

For ... = Each ... перебирает ВСЕ эл-ты данного типа
То есть если ты хочешь что-то сделать только с частицами данного бонуса, то забудь о нём.
Далее, у тебя в бонусе только одна ссылка на частицу
Если хочешь, чтоб их было несколько, то делай массив:
Type Bonus
Field ent
Field p.Particle[10]
End Type
А так как щас так ты по очереди пишешь все частицы в одну переменную, в итоге в неё останется только последняя запись
Да, и
bb\p.particle\p=LoadSprite("...",2)
не рулит
Загрузи один раз и затем копируй CopyEntity
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (30.03.2009)
Старый 30.03.2009, 19:27   #3
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тип в типе & etc...

http://forum.boolean.name/showthread.php?t=5481
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (30.03.2009)
Старый 30.03.2009, 20:06   #4
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Тип в типе & etc...

Да, и
bb\p.particle\p=LoadSprite("...",2)
не рулит
Загрузи один раз и затем копируй CopyEntity
АВТОМАТ,я не понял...Ты же мне день назад в другом топике под название "Particles" говоришь что не видишь толку в копированиии спрайтов, ещё написал "только че ты этим получишь, я хз..." А я потом пришёл проверил - кстати действительно со спрайтами никакой разницы.

Давайте разберёмся всё-таки когда надо использовать copyentity а когда ненадо или когда нет смысла(кстати это две разные вещи)
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 20:10   #5
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Ответ: Тип в типе & etc...

не видишь толку в копированиии спрайтов, ещё написал "только че ты этим получишь, я хз..."
В плане производительности (во время рендера) - это то же самое.
Но копирование происходит намного быстрее загрузки.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 20:26   #6
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тип в типе & etc...

эээ. а разве спрайт не грузит вместе с собой текстуру? так же засрать видео-память недолго. если каждый кадр грузить текстуру.

проверил. оказывается лишнюю текстуру не грузит.
но само создание примерно в 2 раза медленнее копирования.

Последний раз редактировалось HolyDel, 30.03.2009 в 21:01.
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 22:44   #7
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Тип в типе & etc...

Спасибо holyDel, АВТОМАТ!!! Вообщем как я понял копиентити надо использовать везде где это возможно?!

Объясните пожалуйста недокументированные в русской справке команды Handle и Object... Или, где найти онлайн справку по блитцу(есть же такая?).можно впринципе и английскую

ЗЫЫ: HolyDel, как думаешь есть смысл мне использовать в моём случае это твоё хитрозакрученное решение??? Ээ.Или использовать более понятное однако решение Ize'g0re??? Я имею ввиду что как видно твоё решение на порядок производительнее да? А Я за ней ГОНЮЮЮЮСЬ!!!
вот и смотрим: в игре у меня будет аш 200 бонусов всяких разных. И каждый проход главного цикла будет выполняться этот код проверки расстояния до бонуса и если что скрытие всех частиц данного бонуса. вот такая ситуация.

Впринципе мне всё понятно и в твоём коде, только бы получше переварить хендлы и object...

Последний раз редактировалось ELIAS, 30.03.2009 в 22:51.
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 22:58   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тип в типе & etc...

Я имею ввиду что как видно твоё решение на порядок производительнее да?
не на порядок.
все равно все время сожрет рендер, а вовсе не переборы.
вот если бы у тебя были тысячи бонусов и по тысяче партиклов на каждый, тогда конечно надо было бы использовать мой, ибо сэкономилось бы куча холостых проходов цикла.
а так... юзай тот, что тебе кажется понятней.
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 23:06   #9
ELIAS
Знающий
 
Аватар для ELIAS
 
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений
(для 6 пользователей)
Ответ: Тип в типе & etc...

HolyDel, да мне твой код больше нравится!
>>>>Впринципе мне всё понятно и в твоём коде, только бы получше переварить хендлы и object...
подскажите плиззз...я чето читаю третий раз. с хендлами и обджектом есть затруднения
(Offline)
 
Ответить с цитированием
Старый 30.03.2009, 23:09   #10
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Тип в типе & etc...

я конечно могу за тебя поработать поисковиком, но, мне кажется, ты и сам вполне сможешь с этой задачей справиться. 5-ая кнопка вверху - написано "Поиск"
http://forum.boolean.name/showthread...=handle+object

еще это почитай:
http://forum.boolean.name/showthread...ghlight=handle
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (31.03.2009)
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тип в типе AnRee 3D-программирование 10 13.12.2012 21:06
Массивы в типе DStalk 2D-программирование 15 03.01.2010 22:45
полу реал-тиме поиск пути jimon Алгоритмика 4 29.11.2005 00:21


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


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