Пятница, 17.01.2025, 18:22 Приветствую Вас Гость


Главная | Регистрация | Вход | RSS
Меню сайта
Категории раздела
Стратегии за альянс [5]
Гайды по Dota [145]
Стратегии за орду [5]
Стратегии за нежить [5]
Стратегии за ночных эльфов [5]
Создание карт [28]
Предметы в Dota [16]
Гайды по квестам: Войны Лордерона 11 [1]
Отвлекись от warcraft 3 [1]
База знаний [5]
Наш опрос
Оцените мой сайт
Всего ответов: 113
Мини-чат
300
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Немного информации про Jass
Jass - это такая вещь, которая вызывает затруднения у многих начинающих картостроителей, но только с использованием Jass можно создавать действительно эффектные карты WC3, так что основы этой технологии знать нужно.

Все гораздо проще чем вы думаете. Допустим, что Вы имеете две точки A;B , зная их координаты. Как же узнать координаты некой точки С, которая находится на определенном расстоянии R от А в направлении B? Если Вам не очень ясно, то Вы можете на чистом листе бумаги нарисовать себе точки A;B , потом выберете какой-то отрезок R(длина его должны быть меньше чем AB). С - находится на пересечении отрезка (AB) и окружности, которая проведена из радиуса R в точку A. Думаю, что теперь хоть что-то стало яснее.
Зачем же нам вообще надо искать C? Допустим, что юнит-цель начал свое движение из точки А в точку В, а каждые 0.05 секунды мы должны узнать следующее положение юнита и передвинуть его на некое расстояние в направление точки В. Чтобы мы могли свободно узнавать положение точки С нам надо использовать полярные координаты. 

Все знают, что такое обычные координаты. Их обычно задают с помощью X and Y. Есть и другие способы записи координат точки. Сделай координатные оси, а потом выбери некую точку А. Затем, соедини точку А с началом координат О. Допустим, что длина AO=r, а вот угол, образующий АО с началом координат - равен а. В этом случае полярные координаты будут заданы расстоянием точки до начала координaт и yглoм. Ты уже сам выберешь, как тебе задавать координаты X,Y  или r,a.

War3 содержит в себе уже встроенные возможности для вычисления полярных координат. Запишем такое действие - 

Set p = Point with polar [offset ((Center of (Playable map area)) offset by 256.00 towards 50.00 degrees)]

где p - переменная точка. Как только будет выполнено действие в точке p появится точка, которая будет получена из центра карты(!) )Center of (Playable map area)), а все это благодаря перемещению на расстояние 256 и под углом 50 градусов. Вообразили такое действие?

Данный тип координат ( полярные координаты ) довольно удобен в том случае, если тебе требуется создать некое движение по кругу или же по любой прямой. К примеру цикл - 


For each (i) from 1 to 10, do (Actions) 
Цикл Действия 
Set p = ((Center of (Playable map area)) offset by i*100 towards 50.00 degrees) 
<создать юнит в точке p>

Все это сделает то, что на расстоянии 100, 200... -1000 под углом 50, от центра карты будут созданы 10 юнитов.

For each (i) from 1 to 10, do (Actions) 
Цикл Действия 
Set p = ((Center of (Playable map area)) offset by 1000 towards 36*i degrees) 
<создать юнит в точке p>

Если мы сделаем так, то будет создано тоже 10 юнитов, но они уже будет расположены на окружности радиуса = 1000. Первый юнит будет под 36 градусами, второй 36*2, а десятый 36*10...

Это есть полярные координаты точки.
Категория: Создание карт | Добавил: Karman4iK (12.11.2012)
Просмотров: 537 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Друзья сайта
Купить ссылку здесь за руб.
Поставить к себе на сайт