![]() |
Тип в типе & etc...
Здравствуйте.
Мне тут для одного дела очень понадобились типы в типах. Конкретно - я делаю бонусы в игре(а от бонусов у меня разные звёздочки летят красивые :) ), и у меня есть Тип Bonus в котором находится сам ентити бонуса и ещё тип Particle. Выглядит это так: Код:
Type Particle Вот так создаем по частице у каждого бонуса:) 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, а что-то тоже указывающее не текущий бонус. Вот такая заморочка, помогите разобраться...Спасибо :) |
Ответ: Тип в типе & etc...
For ... = Each ... перебирает ВСЕ эл-ты данного типа
То есть если ты хочешь что-то сделать только с частицами данного бонуса, то забудь о нём. Далее, у тебя в бонусе только одна ссылка на частицу Если хочешь, чтоб их было несколько, то делай массив: Type Bonus Field ent Field p.Particle[10] End Type А так как щас так ты по очереди пишешь все частицы в одну переменную, в итоге в неё останется только последняя запись Да, и bb\p.particle\p=LoadSprite("...",2) не рулит Загрузи один раз и затем копируй CopyEntity |
Ответ: Тип в типе & etc...
|
Ответ: Тип в типе & etc...
Цитата:
Давайте разберёмся всё-таки когда надо использовать copyentity а когда ненадо или когда нет смысла(кстати это две разные вещи) |
Ответ: Тип в типе & etc...
Цитата:
Но копирование происходит намного быстрее загрузки. |
Ответ: Тип в типе & etc...
эээ. а разве спрайт не грузит вместе с собой текстуру? так же засрать видео-память недолго. если каждый кадр грузить текстуру.
проверил. оказывается лишнюю текстуру не грузит. но само создание примерно в 2 раза медленнее копирования. |
Ответ: Тип в типе & etc...
Спасибо holyDel, АВТОМАТ!!! Вообщем как я понял копиентити надо использовать везде где это возможно?!
Объясните пожалуйста недокументированные в русской справке команды Handle и Object... Или, где найти онлайн справку по блитцу(есть же такая?).можно впринципе и английскую ЗЫЫ: HolyDel, как думаешь есть смысл мне использовать в моём случае это твоё хитрозакрученное решение??? Ээ.Или использовать более понятное однако решение Ize'g0re??? Я имею ввиду что как видно твоё решение на порядок производительнее да? А Я за ней ГОНЮЮЮЮСЬ!!! вот и смотрим: в игре у меня будет аш 200 бонусов всяких разных. И каждый проход главного цикла будет выполняться этот код проверки расстояния до бонуса и если что скрытие всех частиц данного бонуса. вот такая ситуация. Впринципе мне всё понятно и в твоём коде, только бы получше переварить хендлы и object... :) |
Ответ: Тип в типе & etc...
Цитата:
все равно все время сожрет рендер, а вовсе не переборы. вот если бы у тебя были тысячи бонусов и по тысяче партиклов на каждый, тогда конечно надо было бы использовать мой, ибо сэкономилось бы куча холостых проходов цикла. а так... юзай тот, что тебе кажется понятней. |
Ответ: Тип в типе & etc...
HolyDel, да мне твой код больше нравится! :)
>>>>Впринципе мне всё понятно и в твоём коде, только бы получше переварить хендлы и object... подскажите плиззз...я чето читаю третий раз. с хендлами и обджектом есть затруднения:( |
Ответ: Тип в типе & etc...
я конечно могу за тебя поработать поисковиком, но, мне кажется, ты и сам вполне сможешь с этой задачей справиться. 5-ая кнопка вверху - написано "Поиск"
http://forum.boolean.name/showthread...=handle+object еще это почитай: http://forum.boolean.name/showthread...ghlight=handle |
Часовой пояс GMT +4, время: 15:08. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot