![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
Передвинуть юнита
Можно вопрос который спрашивал но никто мне толком ответа не дал:
Суть в том как например разбросать юнитов вокруг кастера в разные стороны, напишите толком ето не только меня мучает Зеленый - кастер Желтый - позиция врага до применения спела Синий - позиция врага после применения спела Расстояние(стрелки) равные |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Tornak
За Королевство!
![]() ![]() offline
Опыт:
27,646Активность: |
|
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
spellwerk
![]() offline
Опыт:
4,869Активность: |
вернет угол в радианах между кастером и целью. собственно это и есть тот угол, который тебе нужен |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
x2,y2 - координаты врага x1,y1 - координаты кастера |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
Нет желания подсказать в чем дело?
» раскрыть function Trig_r_Conditions takes nothing returns boolean if ( not ( GetSpellAbilityId() == 'A000' ) ) then return false endif return true endfunction function Trig_r_Actions takes nothing returns nothing local unit cu local unit u local real x1 local real x2 local real y1 local real y2 local real r set cu = GetSpellAbilityUnit() set u = GetSpellTargetUnit() set x1 = GetUnitX(cu) set x2 = GetUnitX(u) set y1 = GetUnitY(cu) set y2 = GetUnitY(u) set r = Atan2(y2-y1,x2-x1) call SetUnitPositionLoc( u, PolarProjectionBJ(GetUnitLoc(u), 200, r) ) endfunction //=========================================================================== function InitTrig_r takes nothing returns nothing set gg_trg_r = CreateTrigger( ) call TriggerRegisterAnyUnitEventBJ( gg_trg_r, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( gg_trg_r, Condition( function Trig_r_Conditions ) ) call TriggerAddAction( gg_trg_r, function Trig_r_Actions ) endfunction Дошло оно ж в радианах возвращает Отредактировано Wortecs, 19.01.2011 в 01:03. |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
reALien
![]() ![]() offline
Опыт:
29,211Активность: |
А что не работает то? =О |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
set g = r * 180 / bj_PI - тогда пашет
|
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Wortecs, оптимизация, оптимизация и ещё раз оптимизация
в твоём коде море утечек! вот, я исправил всё:
|
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
Wortecs, лучше использовать bj_DEGTORAD и bj_RADTODEG чтобы каждый раз не считать 180/bj_PI
|
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
XOR
![]() offline
Опыт:
38,159Активность: |
King_Ksel:
и #include cj_antibj.j |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
Hanabishi, А какая разница у мня триггер не будя возмущаться, я просто упростил себе и записал в локалки значения
|
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
reALien
![]() ![]() offline
Опыт:
29,211Активность: |
|
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hanabishi
COOL STATUS
![]() ![]() offline
Опыт: отключен
|
Wortecs, ладно бы если ты эти локалки ещё бы в конце обнулял=) |
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
reALien
![]() ![]() offline
Опыт:
29,211Активность: |
Hanabishi:
круто конечно гонять цикл 17 раз вместо 13-ти reALien добавил: а хотя нет, 11-ти |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
Hanabishi, Зачем локальные переменные обнулять?
|
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
F3n1kz
![]() ![]() offline
Опыт:
4,548Активность: |
reALien,
|
![]() |
#16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Klop
Папа римский
![]() ![]() offline
Опыт:
13,006Активность: |
Wortecs, если локальной переменной ты присваиваеш хендл то он храниться в памяти даже если это локальная переменная и переменные хендлы нужно обнулять обязательно,если это локации или больше не нужные обьекты нужно и удалять
пример:
|
![]() |
#17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Wortecs
![]() ![]() offline
Опыт:
3,146Активность: |
Klop, Я думал не надо локалки пасибо
|
![]() |
#18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexprey
познающий Unity
![]() ![]() offline
Опыт:
68,501Активность: |
reALien, я знаю, но просто смысл кучу раз пересчитывать?
|
![]() |
#19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
-GetSpellTargetLoc()-
GetSpellTargetX
GetSpellTargetY в остальном указано вполне верно, угол между кастером и целями, с угла вычитаем 180 и применяем полярные координаты или двигаем на -200.
локалки подлежат обнулению по общим правилам типов. |
![]() |
#20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|