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

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

Закрытая тема
 
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
Что использовать в цикле loop?
  1. Как известно Wait - гуи функция не может быть использована в loop цикле. А что тогда использовать?
Если можете дайте ссылку где я могу подробно ознакомиться, чтобы избежать глупых вопросов в дальнеишем.
  1. Мне нужно (пока просто), чтобы через полярные координаты спецэффекты создавались вокруг героя с периодичностью около (0.3) вкруговую на расстоянии 500. Как сделать спецэффекты спецэффекты вкруговую и как их удалять я рабобрался, но как сделать эту самую паузу.
В общем по кругу вокруг юнита создаются эффекты, (20 штук), после 1 полного круга они начинают удаляться так же последовательно так же как и создавались.
  1. Можно ли использовать в цикле loop функцию TriggerSleepAction?
  1. Как вызвать из функции Допустим Function1 функцию Fuction2?

Отредактировано Ramazanoff, 04.04.2010 в 11:36.
Старый 04.04.2010, 11:16
krosaf4eg

offline
Опыт: 1,859
Активность:
  1. периодический таймер
  2. используй время жизни юнита (или в заклинания на заказ, я не совсем понял что ты хочешь сделать :( )
  3. см. 1
  4. call Function2()
Старый 04.04.2010, 11:48
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
Где-то в статье было сказано, что нельзя вызывать след. функции, а только предыдущие...
Старый 04.04.2010, 11:58
AlexKARASb
Learning cpp
offline
Опыт: 22,103
Активность:
Ramazanoff,
1) заменяем луп(цикл) на переодический триггер, либо на переодический таймер
2)выставляем нужную переодичность в твоем случае 0.3с
3)задаем в действиях переодика(триггера, или таймера) создание эффекта так:
Код:
point - GetUnitLoc(Hero(твой герой))  либо кооринатами GetUnitX(Hero), GetUnitY(Hero) второе приветствуется больше
globals(глобалка)
real a=0
endglobals
jass: AddSpecialEffect("name of effect", x + n(радиус отдаления от героя)*Cos(a*bj_DEGTORAD), y + n(радиус отдаления от героя))*Sin(a*bj_DEGTORAD))
a=a+360/кол-во спец эффектов в твоем случае 20

Пояснение: каждый раз в периодике будет создаватся спец эффект отдаленно на определенный угол и изменяет этот угол каждый раз, тем самым изменяя траэкторию следующего спецэффекта

AlexKARASb добавил:
3.пункт: нельзя.
4. смотря что ты хочеш вызвать

AlexKARASb добавил:
На Гуи, +отличная статья которая уберет все вопросы по поляркам
ссылка
Старый 04.04.2010, 12:18
krosaf4eg

offline
Опыт: 1,859
Активность:
Ramazanoff:
Где-то в статье было сказано, что нельзя вызывать след. функции, а только предыдущие...
Функция, которую ты вызываешь, должна быть объявлена раньше, то есть она должна стоять выше той функции, из которой ты ее вызываешь
Старый 04.04.2010, 15:26
_Red

offline
Опыт: 4,095
Активность:
Функция, которую ты вызываешь, должна быть объявлена раньше, то есть она должна стоять выше той функции, из которой ты ее вызываешь
» но если очень надо
native ExecuteFunc takes string funcName returns nothing
Старый 04.04.2010, 15:59
Doc

offline
Опыт: 63,163
Активность:
_Red, верно, но автору стоит учесть, что функция пишется как строка, ошибок быть не должно,и функция не должна ничего принимать или возвращать.
Старый 04.04.2010, 16:14
Sie7eN
Feel what's real
offline
Опыт: 2,550
Активность:
Спасибо, можно закрывать тему.
Старый 04.04.2010, 18:56
Закрытая тема

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

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

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

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



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