XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Ark

offline
Опыт: 21,182
Активность:
помогите
Короче делаю спелл типа при кастовании возле кастуэщего криейтитца юнит модель которого спецефект и у него Возможные Способности : москиты (шоб нельзя было выдилить во время игры).Так вот еще у него стоит возможность Щит Молнии (шоб давало урон ).А вопрос собственно в том что я незнаю как зделать чтобы эти спецефекты-юниты двигаль к враждебным юнитам.Плизз помогите...Можно на Jase (желательно обьясняя действия).
Старый 24.06.2006, 20:11
AnD
Weighted Companion Cube
offline
Опыт: 7,351
Активность:
Тут нужы эти... полярные координаты. На самом деле это легко, но надо обьяснять. В архиве статей на сайте есть обучающая статья по джаззу, и водном из ее разделов рассматриваются полярные координаты. Загляни туда.

AnD добавил:
http://www.xgm.guru/articles.php?id=170
вот ссылочка, сдесь рассказывается о этих координатах.
Старый 24.06.2006, 21:33
bugmaker
invulnerable
offline
Опыт: 2,282
Активность:
с координатами простая формула:
допустим x, y - начальные координаты.
тогда в newX и newY - новые (т.е. результат)
отсюда
newX = x + offset * cos (angle)
newY = y + offset * sin (angle)
Старый 24.06.2006, 22:40
DioD

offline
Опыт: 45,134
Активность:
Кстати лучше не использовать функции получения угла и полярных координат, а включать их непосредственно в код спелла.
На это есть 3 причины:
1 Это БЖ, а лучше писать без БЖ
2 Это точки а их надо удалять
3 Сначало координаты в точки потом точки в координаты что не есть верх производительности
Старый 25.06.2006, 08:01
bugmaker
invulnerable
offline
Опыт: 2,282
Активность:
диод праф, никокда не юзить БЖ ибо они лучше всего подходит для того чтобы засорить память...
да кста:
Код:
function PolarProjectionBJ takes location source, real dist, real angle returns location
    local real x = GetLocationX(source) + dist * Cos(angle * bj_DEGTORAD)
    local real y = GetLocationY(source) + dist * Sin(angle * bj_DEGTORAD)
    return Location(x, y)
endfunction

имхо лол... я когда на тригах карты делал (о жассе и незнал) - вот свободно такие использовал, а потом удивлялся пчму при проверке карта через опр время начинает ужасно лагить и вылетает с фаталом...
Старый 25.06.2006, 12:40
DioD

offline
Опыт: 45,134
Активность:
Включить в код спелла проще и изящнее
bj_DEGTORAD каждый раз расчитывается ибо это пи\180
хотя проще посчитать заранее
Если учесть что энгл тоже функция то можно еще и упростить, воще не знаю куда смотрели близы.
Раз такое дела щас наверно накатаю то что должно быть и кину в барахолку.
Старый 25.06.2006, 14:03
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 09:14.