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

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

Закрытая тема
 
DqUaliTy

offline
Опыт: 1,076
Активность:
Помогите раскрыть функцию
Всем здрасте , решил один триггер с ГУИ на Jass конвертировать. Но тут проблемка с одной функцией. Помогите её раскрыть , а то я уже мозги себе выколил.
Вот функция :
local real Angle=AngleBetweenPoints(PolarProjectionBJ(GetUnitLoc(GetAttackedUnitBJ()), -100.00, GetUnitFacing(GetAttackedUnitBJ())), GetUnitLoc(GetAttackedUnitBJ()))
Для справки:
вместо GetAttackedUnitBJ() можно ставить GetTriggerUnit().
Старый 23.12.2011, 17:20
Acuion
Наблюдатель
offline
Опыт: 2,018
Активность:
function AngleBetweenPoints takes location locA, location locB returns real
    return bj_RADTODEG * Atan2(GetLocationY(locB) - GetLocationY(locA), GetLocationX(locB) - GetLocationX(locA))
endfunction
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
и еще:
function GetAttackedUnitBJ takes nothing returns unit
    return GetTriggerUnit()
endfunction
Качай JNGP с Function List.
Старый 23.12.2011, 17:28
DqUaliTy

offline
Опыт: 1,076
Активность:
Akvarium, да знаю я это всё , я хотел что бы сразу в исправленном виде написали ...
у меня из-за этих функций каша в голове
Старый 23.12.2011, 17:40
Master_chan
Полуночный командир
offline
Опыт: 15,660
Активность:
DqUaliTy:
я хотел что бы сразу в исправленном виде написали
такого не бывает
Старый 23.12.2011, 17:50
asesmo
Я I Jag Ich Jeg Ja Minä!
offline
Опыт: 8,073
Активность:
юзай jngp, jass helper, jass craft и тому подобное
Старый 23.12.2011, 18:56
Acuion
Наблюдатель
offline
Опыт: 2,018
Активность:
Ладно, лови. Не проверял. Два вопроса: зачем тебе угол ОТ полярки до юнита, а не наоборот? И почему -100?)
local real angle = bj_RADTODEG * Atan2(GetUnitX(GetTriggerUnit()) -100 * Cos(GetUnitFacing(GetTriggerUnit()) * bj_DEGTORAD) - GetUnitX(GetTriggerUnit()),GetUnitY(GetTriggerUnit()) -100 * Sin(GetUnitFacing(GetTriggerUnit()) * bj_DEGTORAD) - GetUnitY(GetTriggerUnit()))
Тригоюнита вынеси в локалку, а лучше его X и Y
Старый 23.12.2011, 20:38
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Угол+180 = AngleBetweenPoints(PolarProjectionBJ(GetUnitLoc(GetAttackedUnitBJ()), -100.00, Угол, GetUnitLoc(GetAttackedUnitBJ()))
разве нет? Что мешало взять фэйсинг юнита?
set Angle = ModuloReal(GetUnitFacing(u)+180., 360.)
FellGuard добавил:
И почему -100?)
Радиус у него отрицательный, чтобы угол был +Pi
Старый 23.12.2011, 20:44
DqUaliTy

offline
Опыт: 1,076
Активность:
Akvarium, FellGuard, Спасибо:D
Старый 23.12.2011, 23:53
Закрытая тема

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

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

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

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



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