Сейчас 11:05:29 Понедельник, 22 апреля, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Система] Снаряды без ForGroup + Systemizer (новый подход к реализации систем движения)
[Система] Снаряды без ForGroup + Systemizer
ZonneryДата: Суббота, 10 Января 2015, 16:31:34 | Сообщение # 1
3 уровень
Группа: Проверенные
Сообщений: 42
Награды: 0
Репутация: 95
Блокировки:
При реализации систем движения, которые взаимодействуют с юнитами, неизбежно приходится сталкиваться с такой необходимостью, как ForGroup.
С помощью ForGroupмы каждый период системы проверяем расстояние до каждого юнита рядом, сравниваем, что не может серьёзно сказаться на производительности системы в целом.
Больше такого делать не придётся.

Представляю систему, где коллизия основана на event!
Производительность такой системы выше на порядок.
С периодичностью 0.05 без лагов система одновременно спокойно держит до 500 снарядов(и это на моём калькуляторе).


Отдельно упомяну о Systemizer.
Это написанная мной система, предназначенная для упорядочивания всех систем, требующих периодичного выполнения.
Реализована с помощью структуры Systemizerи интерфейса ISystemizer.
Как его использовать? Достаточно просто.
1.Вы пишите скилл/систему в структуре.
2.С помощью extends наследуете интерфейс ISystemizer
3.Добавляете наследуемые функцииUpdate, Init, Equals, Destroy etc.
4. PROFIT

Система за вас организует хранение ваших структур, каждый период системы будет выполнять содержимое ваших переопределенных функций Update.
При вызове Destroy сама подчистит за собой данные и организует их, согласно переопределенной ф-ции Destroy.
Звучит сложно, но в чём преимущество?
Больше не нужно писать для каждой системы свой таймер и хранить массив из структур в каждой системе отдельно.
Теперь это всё можно обработать одним таймером и в рамках одного интерфейса.

Ссылка для скачивания.


Мир, как зеркало, отражает ваше отношение к нему. Когда боретесь с миром, он борется с вами. Когда прекращаете свою битву, мир идет навстречу.(В.Зеланд)
vk.com/zonnery


Сообщение отредактировал Zonnery - Суббота, 10 Января 2015, 16:46:26
 

Форум о Warcraft 3 » Раздел для картостроителей » GUI / Jass » [Система] Снаряды без ForGroup + Systemizer (новый подход к реализации систем движения)
  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz