Понедельник, 29.04.2024, 10:14


Главная страница
Регистрация
Вход
Eight Large Friends Приветствую Вас Дух | RSS |  

Новинки для WarCraft-a: последние версии популярных карт и патчей.

Aнимированные аватары из WarCraft

 DotA Allstars 6.62b   Патч WarCraft 3 TFT 1.24a -> 1.24b
 Angel Arena Allstars 1.70 Beta2  CHAOS V0.5.2Beta  Hero Duel 2.6  Twilight's Eve ORPG v1.13F
 Arena of Champions BETA 3.5 AI  Diablo III Warcraft Beta v1.18  Lord of the Rings  Upadoro TD v0.97e
 Awakening of Nagas 0.99z  Element TD Survivor 4.1b  Mathias Part I-V  Warlock 089
 Battle Ships Crossfire 4.31  Eternal War's Isle v2.05  Naruto vs Bleach 1.2d  WaRussLand v2.27a +AI - 1.0
 Blades of Vengeance v5.16+AI  EWIX Arena v3.55  Naruto: Battle Royal v4.0  X Hero Siege 3.45
 Bleach Wars 3.1  Grand Battle v1.4 AI  Orcs vs. Peoples v. 2.06  Последняя Битва 2.3b
 Bunker 2  Green TD: Wipeout v6.7 rus  Russian Dota 4.61  Четвертая война 1.2с
 Burbenog TD 2.44  Hell TD v5.10  Russian Star Wars v1.8
Меню сайта

Под каталог
Общее [4]
DotA [2]
Ladder [26]
Коды [1]
Создание карт [20]
Юмор [2]

Наш опрос
Хотите ли вы, чтобы тематика нашего сайта перешла на STALKER?
Всего ответов: 256

Пользователи
Всего: 1
Духов: 1
Героев: 0

Поздравляем с Днем Рожденья:
gangstadan51(29)

Сегодня на сайте были:

Статистика сайта
Всего новостей:
Всего файлов: 771
Всего статей: 55
Всего изображений: 175
Всего комментариев: 60

Всего пользователей: 835
Администраторов: 1
Гл. Модераторов: 0
Модераторов: 0
Пользователей: 834
Зарег-но сегодня: 0
Зарег-но вчера: 0
Зарег-но за неделю: 0
Зарег-но за месяц: 0

wc3elf.clan.su » Статьи » Создание карт

Про полярные координаты в Jass

Все достаточно просто. Если у вас есть две точки A и B, координаты которых нам известны. Как вычислить координаты третьей точки C, находящейся на заданном расстоянии R от точки A в направлении к точке B? Чтобы было понятнее, нарисуйте себе на бумаге точки A, B, выберите какой-то отрезок R длинна которого меньше AB. Точка C – находится на пересечении отрезка AB и окружности, проведенной из точки A радиуса R. Теперь должно быть понятнее.

Итак, зачем нам может понадобиться искать точку C? Как в примере, рассмотренном выше. Юнит-цель движется из произвольной точки A в точку B. Каждые 0.05 секунды мы должны вычислить следующее положение юнита и переместить его на какое-то расстояние в направлении точки B. Для того чтобы вычислять позицию точки C используются полярные координаты. 

Итак, что такое обычные координаты ты знаешь. Они задаются двумя координатами X и Y. Но есть еще один способ записать координаты точки. Нарисуй координатные оси, выбери произвольную точку A. Соедини точку A и начало координат O. Пуская длинна AO=r, а угол, который образует AO с началом координат – равен a. Тогда полярные координаты точки называется пара чисел (r, a). Т.е. полярные координаты задаются расстоянием точки до начала координат и углом. Это просто еще один способ задать координаты точки. Можно через (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, 300... -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, второй 2*36... последний под углом 10*36=360=0 градусов. 

Вот что такое полярные координаты точки. 
Впрочем, в игре функции для вычисления полярных координат устроены не самым лучшим образом, но об этом будет сказано ниже. 


Категория: Создание карт | Добавил: eldiablo (06.08.2009)
Просмотров: 770 | Рейтинг: 0.0

Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Случайные фото

Поиск по каталогу
AoS (145)
arena (133)
TD (89)
RPG (75)
Dota (49)
Melee (48)
naruto (24)
Battle (14)
Wars (14)
AI (13)
Blades (11)
Bleach (8)
Diablo (8)
Green (8)
war (8)
Land (7)

Друзья сайта

По всем вопросам рекламы
на сайте пишите админу.


SanCity.ru - Город Вашей мечты. Online игра нового поколения.

ELF © 2009
Рейтинг SIMPLETOP.NET Rambler's Top100 Яндекс цитирования