Wortecs
offline
Опыт:
3,146Активность: |
Передвинуть юнита
Можно вопрос который спрашивал но никто мне толком ответа не дал:
Суть в том как например разбросать юнитов вокруг кастера в разные стороны, напишите толком ето не только меня мучает Зеленый - кастер Желтый - позиция врага до применения спела Синий - позиция врага после применения спела Расстояние(стрелки) равные |
18.01.2011, 23:34 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Tornak
За Королевство!
offline
Опыт:
27,846Активность: |
|
18.01.2011, 23:41 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
spellwerk
offline
Опыт:
4,869Активность: |
вернет угол в радианах между кастером и целью. собственно это и есть тот угол, который тебе нужен |
19.01.2011, 00:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
x2,y2 - координаты врага x1,y1 - координаты кастера |
19.01.2011, 00:02 | #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. |
19.01.2011, 00:55 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
А что не работает то? =О |
19.01.2011, 01:04 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wortecs
offline
Опыт:
3,146Активность: |
set g = r * 180 / bj_PI - тогда пашет
|
19.01.2011, 01:13 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Wortecs, оптимизация, оптимизация и ещё раз оптимизация
в твоём коде море утечек! вот, я исправил всё:
|
19.01.2011, 15:06 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Wortecs, лучше использовать bj_DEGTORAD и bj_RADTODEG чтобы каждый раз не считать 180/bj_PI
|
19.01.2011, 15:34 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,284Активность: |
King_Ksel:
и #include cj_antibj.j |
19.01.2011, 15:38 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wortecs
offline
Опыт:
3,146Активность: |
Hanabishi, А какая разница у мня триггер не будя возмущаться, я просто упростил себе и записал в локалки значения
|
19.01.2011, 22:33 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
|
19.01.2011, 22:38 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Wortecs, ладно бы если ты эти локалки ещё бы в конце обнулял=) |
19.01.2011, 22:40 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
reALien
offline
Опыт:
29,211Активность: |
Hanabishi:
круто конечно гонять цикл 17 раз вместо 13-ти reALien добавил: а хотя нет, 11-ти |
19.01.2011, 22:47 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wortecs
offline
Опыт:
3,146Активность: |
Hanabishi, Зачем локальные переменные обнулять?
|
19.01.2011, 23:45 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
F3n1kz
offline
Опыт:
4,548Активность: |
reALien,
|
20.01.2011, 01:39 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Klop
Папа римский
offline
Опыт:
13,006Активность: |
Wortecs, если локальной переменной ты присваиваеш хендл то он храниться в памяти даже если это локальная переменная и переменные хендлы нужно обнулять обязательно,если это локации или больше не нужные обьекты нужно и удалять
пример:
|
20.01.2011, 03:47 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wortecs
offline
Опыт:
3,146Активность: |
Klop, Я думал не надо локалки пасибо
|
20.01.2011, 11:49 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
reALien, я знаю, но просто смысл кучу раз пересчитывать?
|
20.01.2011, 15:17 | #19
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
-GetSpellTargetLoc()-
GetSpellTargetX
GetSpellTargetY в остальном указано вполне верно, угол между кастером и целями, с угла вычитаем 180 и применяем полярные координаты или двигаем на -200.
локалки подлежат обнулению по общим правилам типов. |
20.01.2011, 16:15 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|