|
30.03.2009, 19:14
|
#1
|
Знающий
Регистрация: 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
|
Ференька
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.03.2009, 19:27
|
#3
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Тип в типе & etc...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
30.03.2009, 20:06
|
#4
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Тип в типе & etc...
Да, и
bb\p.particle\p=LoadSprite("...",2)
не рулит
Загрузи один раз и затем копируй CopyEntity
|
АВТОМАТ,я не понял...Ты же мне день назад в другом топике под название "Particles" говоришь что не видишь толку в копированиии спрайтов, ещё написал "только че ты этим получишь, я хз..." А я потом пришёл проверил - кстати действительно со спрайтами никакой разницы.
Давайте разберёмся всё-таки когда надо использовать copyentity а когда ненадо или когда нет смысла(кстати это две разные вещи)
|
(Offline)
|
|
30.03.2009, 20:10
|
#5
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Тип в типе & etc...
не видишь толку в копированиии спрайтов, ещё написал "только че ты этим получишь, я хз..."
|
В плане производительности (во время рендера) - это то же самое.
Но копирование происходит намного быстрее загрузки.
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
30.03.2009, 20:26
|
#6
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Тип в типе & etc...
эээ. а разве спрайт не грузит вместе с собой текстуру? так же засрать видео-память недолго. если каждый кадр грузить текстуру.
проверил. оказывается лишнюю текстуру не грузит.
но само создание примерно в 2 раза медленнее копирования.
Последний раз редактировалось HolyDel, 30.03.2009 в 21:01.
|
(Offline)
|
|
30.03.2009, 22:44
|
#7
|
Знающий
Регистрация: 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
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Тип в типе & etc...
Я имею ввиду что как видно твоё решение на порядок производительнее да?
|
не на порядок.
все равно все время сожрет рендер, а вовсе не переборы.
вот если бы у тебя были тысячи бонусов и по тысяче партиклов на каждый, тогда конечно надо было бы использовать мой, ибо сэкономилось бы куча холостых проходов цикла.
а так... юзай тот, что тебе кажется понятней.
|
(Offline)
|
|
30.03.2009, 23:06
|
#9
|
Знающий
Регистрация: 31.08.2008
Адрес: Arrakis
Сообщений: 234
Написано 6 полезных сообщений (для 6 пользователей)
|
Ответ: Тип в типе & etc...
HolyDel, да мне твой код больше нравится!
>>>>Впринципе мне всё понятно и в твоём коде, только бы получше переварить хендлы и object...
подскажите плиззз...я чето читаю третий раз. с хендлами и обджектом есть затруднения
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:53.
|