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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Создание базы точек для будущего fsgui
MuradorДата: Понедельник, 04 Января 2010, 18:29:16 | Сообщение # 1
Группа: Проверенные
Сообщений: 1221
Награды: 1
Репутация: 446
Блокировки:


Решил тут статью написать по созданию fsgui практически на триггерах. В чём же заключаеться мой метод?
Нужно просто узнать диаметр модели самих рамок интерфейса. Я использовал модели из статьи Jon'a об fsgui, от масштабированные на 2.00.


Но перейдём к статье, что на потребуеться:
JNGP
Пустая карта 64х64
И область в центре карты с самым минимальным масштабом (Область000)

Создаём триггер с названием 'inicialization map' он будет в первую очередь ссылаться на базу координат, или базу точек которые в принципе чем то будут напоминать сетку. Приступим к созданию самой базы координат (в дальнейшем точек) , на этих точках и будут создаваться нужные нам декорации.
Диаметр моей декорации равен ~ 42.50. Я сделаю базу координат на 30х20 точек ,то есть в теории это будут точки по XY. Точкой x0y0 равна та самая область что мы создали.

Code

function Trig_InicializationPosDataBase_Actions takes nothing returns nothing
       //X
       set udg_ST_posX[1] = 42.50
       set udg_ST_posX[2] = 85.00
       set udg_ST_posX[3] = 127.50
       set udg_ST_posX[4] = 170.00
       set udg_ST_posX[5] = 215.50
       set udg_ST_posX[6] = 255.00
       set udg_ST_posX[7] = 297.5
       set udg_ST_posX[8] = 340.00
       set udg_ST_posX[9] = 382.50
       set udg_ST_posX[10] = 425.00
       set udg_ST_posX[11] = 467.50
       set udg_ST_posX[12] = 510.00
       set udg_ST_posX[13] = 552.50
       set udg_ST_posX[14] = 595.00
       set udg_ST_posX[15] = 637.50
       set udg_ST_posX[16] = 680.00
       set udg_ST_posX[17] = 722.50
       set udg_ST_posX[18] = 765.00
       set udg_ST_posX[19] = 807.50
       set udg_ST_posX[20] = 850.00
       set udg_ST_posX[21] = 892.50
       set udg_ST_posX[22] = 935.00
       set udg_ST_posX[23] = 977.50
       set udg_ST_posX[24] = 1020.00
       set udg_ST_posX[25] = 1062.50
       set udg_ST_posX[26] = 1105.00
       set udg_ST_posX[27] = 1147.50
       set udg_ST_posX[28] = 1190.00
       set udg_ST_posX[29] = 1232.50
       set udg_ST_posX[30] = 1275.00
       //Y
       set udg_ST_posY[1] = -42.50
       set udg_ST_posY[2] = -85.00
       set udg_ST_posY[3] = -127.50
       set udg_ST_posY[4] = -170.00
       set udg_ST_posY[5] = -215.50
       set udg_ST_posY[6] = -255.00
       set udg_ST_posY[7] = -297.5
       set udg_ST_posY[8] = -340.00
       set udg_ST_posY[9] = -382.50
       set udg_ST_posY[10] = -425.00
       set udg_ST_posY[11] = -467.50
       set udg_ST_posY[12] = -510.00
       set udg_ST_posY[13] = -552.50
       set udg_ST_posY[14] = -595.00
       set udg_ST_posY[15] = -637.50
       set udg_ST_posY[16] = -680.00
       set udg_ST_posY[17] = -722.50
       set udg_ST_posY[18] = -765.00
       set udg_ST_posY[19] = -807.50
       set udg_ST_posY[20] = -850.00
endfunction

Возьмём пример: (ST_posX[1-30]//type real)
set udg_ST_posX[1] = 42.50 по сути своей первая точка которая от считывается от нами созданной области.
set udg_ST_posX[2] = 85.00 ( т.е. мы тупо прибавили к 42.50+42.50)
set udg_ST_posX[3] = 127.50 (и так надо сделать до 30 массивов переменной ST_posX)

с Y будем отсчитывать только двадцать массивов, с отрицательным значением

База точек готова, остаётся либо пихнуть её в инициализацию карты, либо в отдельный триггер с этой функцией (я предпочёл в отдельный триггер)

Ну а далее проделываем это:

ST_BasePosition = Область000
Об трекаблях пока не пишу
Скачать пример
Об прикрепления камер можно узнать в карте, если что то не так отписывайтесь ; )

Сообщение отредактировал Murador - Понедельник, 04 Января 2010, 18:31:38
 

СорнемусДата: Понедельник, 04 Января 2010, 19:30:22 | Сообщение # 2
9 уровень
Группа: Проверенные
Сообщений: 854
Награды: 0
Репутация: 120
Блокировки:
Murador, непростительно использовать ГУИшные полярки в больших количествах так как будут утечки изза абуза локациями (а у тебя выйдет что при каждом запуске инвентаря создаётся 100 локаций (31 + 20 + 29 + 20)).
 

H_A_PKДата: Понедельник, 04 Января 2010, 23:06:46 | Сообщение # 3
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (Сорнемус)
Murador, непростительно использовать ГУИшные полярки в больших количествах так как будут утечки изза абуза локациями (а у тебя выйдет что при каждом запуске инвентаря создаётся 100 локаций (31 + 20 + 29 + 20)).

мну тоже это смутило ) а где локалки Murador, ?


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец
 

MuradorДата: Вторник, 05 Января 2010, 02:36:52 | Сообщение # 4
Группа: Проверенные
Сообщений: 1221
Награды: 1
Репутация: 446
Блокировки:
H_A_PK, тут чисто бд, какие локалки оО
 

H_A_PKДата: Среда, 06 Января 2010, 15:19:34 | Сообщение # 5
Быдлокодер
Группа: Проверенные
Сообщений: 2605
Награды: 1
Репутация: 822
Блокировки:
Quote (Murador)
H_A_PK, тут чисто бд, какие локалки оО

гы , константы юзнуть))


проклятье ляжет на любого
кто дочитает до конца
нет не дочитывай не надо
остановись ну всё капец


Сообщение отредактировал H_A_PK - Четверг, 07 Января 2010, 01:57:41
 

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

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