Сейчас 14:16:57 Четверг, 28 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Области
TarkerroДата: Четверг, 10 Января 2013, 17:16:42 | Сообщение # 1
6 уровень
Группа: Проверенные
Сообщений: 186
Награды: 0
Репутация: 16
Блокировки:
Как изменять форму областей?(можно сделать треугольную, параллелограмм ?)
Очень давно где-то видел тему,сейчас найти не смог...
 

АндреичДата: Четверг, 10 Января 2013, 17:23:03 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 363
Награды: 0
Репутация: 138
Блокировки:
Цитата (Tarkerro)
Как изменять форму областей?(можно сделать треугольную, параллелограмм ?)

неа... области прямоугольные...
(в данном случае справедливо равенство:
область=rect=rectangle=прямоугольник...) :3


"не психуй - пиши на гуй..."
 

Ty3uKДата: Четверг, 10 Января 2013, 17:24:38 | Сообщение # 3
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Ник давал давно ссылку, как это делать. Ждем его.

╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SirNikolasДата: Четверг, 10 Января 2013, 17:53:17 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Цитата (|DUОS|)
Сегодня нас ждёт очень интересный практикум, связанный с типом, которого в триггерах нет. Это тип region.
region - тип, который позволяет создавать непрямоугольные области, разбросанные хоть по всей карте. Тип достаточно лёгок в освоении, однако есть несколько вещей, которые требуется запомнить.
Функций, связанных с типом region, в common.j немного и надо знать их особенности.
Создаётся такой регион через функцию CreateRegion().
Для построения сложного региона используются функции вида RegionAddCell и RegionAddRect. Разберём каждую.

RegionAddCell принимает в качестве параметров уже созданный регион и координаты x и y. Казалось бы, эта функция добавляет точку. Но ничего подобного! Она добавляет в регион прямоугольник размером 32х32 с центром в этой точке. Будьте внимательны и учитывайте это, чтобы избежать ошибок при построении региона.
RegionAddRect принимает в качестве параметров уже созданный регион и прямоугольную область, которая в GUI называется Область, а в Jass носит название rect. Здесь никаких ухищрений нет.

Не забудьте, что region как и любой тип, наследующийся от handle, надо обнулять и можно удалять при помощи функции RemoveRegion. Конечно же, можно удалить отдельные Cell'ы или отдельный рект, используя функции RegionClearCell и RegionClearRect соответственно.

Теперь о том, как можно использовать этот тип для оптимизации своего кода в событиях триггеров.
TriggerRegisterEnterRegion может отловить вход в регион и сразу же отфильтровать всех ненужных юнитов.
TriggerRegisterLeaveRegion может отловить выход из региона и сразу же отфильтровать всех ненужных юнитов.

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

Этого багажа знаний вам должно хватить для построения нестандартных непрямоугольных областей.


 

Imba_pvLДата: Четверг, 10 Января 2013, 18:10:03 | Сообщение # 5
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
SirNikolas, о гуд незнал
а можно на саму статейку поглядеть


 

SirNikolasДата: Четверг, 10 Января 2013, 18:14:26 | Сообщение # 6
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Да пожалуйста. trollface

 

Imba_pvLДата: Четверг, 10 Января 2013, 18:19:08 | Сообщение # 7
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
SirNikolas, ыыыы=) блин жалко(

 

  • Страница 1 из 1
  • 1
Поиск:

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