|
Всего: 331
Новых за месяц: 1
Новых за неделю: 0
Новых вчера: 0
Новых сегодня: 0| Главная » Статьи » Различные статьи » Создание карт |
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... Это есть полярные координаты точки. | |
| Просмотров: 436 | Комментарии: 1 | Рейтинг: 5.0/1 |
| Всего комментариев: 1 | ||||||
| ||||||