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

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

Закрытая тема
 
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
отталкивание. градус
передвигая юнитов, мне нужно, при столкновением с границами карты, менять направление их передвижения.
я делаю так:

Код:
set x=GetUnitX(u)+speed*Cos(angle[i]*bj_DEGTORAD)
set y=GetUnitY(u)+speed*Sin(angle[i]*bj_DEGTORAD)
if MCC(x,y) then
    call SetUnitX(u,x)
    call SetUnitY(u,y)
else
    set angle[i]=ABC(x,GetUnitX(u),y,GetUnitY(u))
    call SetUnitFacing(u,angle[i])
endif


он просто разворачивается назад и продолжает движение. а надо чтоб он это делал под углом
требуется помощь.
Старый 03.04.2010, 03:42
Mr_ILYAS
Kicked by XimikS
offline
Опыт: 492
Активность:
Выложи весь код триггера, ибо не понятно, что за угол ты записал в переменную angle[i]
Кстати bj_DEGTORAD лучше писать числом 0.01745328
Но по сути дела можно и без него обойтись если заранее угол в радианах иметь.
Ты как хочешь чтоб он отлетал по принципу — угол падения равен углу отражения?
Старый 03.04.2010, 05:54
Sebra

offline
Опыт: 5,603
Активность:
set x=GetUnitX(u)+speed*Cos(angle[i]*bj_DEGTORAD)
set y=GetUnitY(u)+speed*Sin(angle[i]*bj_DEGTORAD)
if XNotInRange(x) then
    set angle[i]=180-angle[i]
    call SetUnitFacing(u,angle[i])
else
    call SetUnitX(u,x)
endif
if YNotInRange(y) then
    set angle[i]=-angle[i]
    call SetUnitFacing(u,angle[i])
else
    call SetUnitY(u,y)
endif
Старый 03.04.2010, 11:16
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Sebra, а че функция XNotInRange делает?
Старый 03.04.2010, 22:47
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Bee, X вышел за пределы карты.
Старый 03.04.2010, 22:51
Sebra

offline
Опыт: 5,603
Активность:
Bee, а что делает твоя MCC(x,y)?
if x<xMin or x>xMax then
Старый 03.04.2010, 23:30
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
Sebra, спасибо
Старый 04.04.2010, 02:26
Закрытая тема

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

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

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

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



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