![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
Timer vs periodic event
Вобщем, не имея возможности сделать периодический триггер мне приходится делать цикл в обычном триге и запускать 1 раз. ПРоблема как вы уже наверно догадались в малом периоде. ВОпрос: как задать ожидание меньше 0,12 таймерами? Т,е. TriigerSleepAction работают с слишком большими периодами, мне нужен где-то 0,04. А вот как реализовать задержку таймером-хз. ЕСли есть статейка, где именно это расписано-дайте ссыль. А то я 3 статьи посомтрел-сказано что лучшще юзать таймер, а примера нету =( |
|
|
![]()
NETRAT
offline
Опыт:
82,062Активность: |
Цитата:
|
|
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
Хм, у меня при 0,04 работает не так, как при событии триггера every 0.04
Артте добавил: Fakov Перечитай еще раз, я не имею возможности делать через периодический триггер Артте добавил: Поставил 0,01-разницы с 0,04 не вижу, да и на глаз видно что куда больше задержка |
|
|
![]()
ScorpioT1000
Работаем
offline
Опыт: отключен
|
TriggerSleepAction держит не короче 0.1 |
|
|
![]()
NETRAT
offline
Опыт:
82,062Активность: |
Создаешь переменную - счетчик итераци и меняешь ее по периодическом таймеру, в зависимости от значения переменной выполняешь определенный шаг цикла(или чего тебе еще нужно). Обрисуй проблему более детально |
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
Каждые 0,04 секунды двигать юнита надо. Периодический триггер не могу юзать из-за особенностей спела(с переменными возникнут траблы). ПОэтому делаю так:
Код:
|
|
|
![]()
Hellfim
Новичок
offline
Опыт:
81,534Активность: |
Артте
Код:
Будет минимальная задержка, примерно 0.012 |
|
|
![]()
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Цитата:
да, но все локальные забивать в глобальные массивы |
|
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
А когда выполнится Delay?
Артте добавил: ScorpioT1000 Цитата:
этого избежать-весь смысл данного изврата) |
|
|
|
![]()
Hellfim
Новичок
offline
Опыт:
81,534Активность: |
Артте, через 0.012 секунд. Без изврата никак. В функции Delay(не принципиально важно, можешь назвать ATATATA) будет выполняться код, идущий после цикла.
|
|
|
![]()
NETRAT
offline
Опыт:
82,062Активность: |
посмотри код функции PolledWait - там как раз код разбивается на два куска таймером, второй кусок выполняется после истечения таймера, пример показателен |
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
черт, мне тогда прийдется вынести все действия в другую ф-цию, а этого надо избежать..вот черт.. |
|
|
![]()
ScorpioT1000
Работаем
offline
Опыт: отключен
|
дак ты понимаешь что так все и делают, иначе все было бы проще некуда |
|
|
![]()
MF
Что-то вокруг не так
offline
Опыт:
26,194Активность: |
Артте
Используй таймеры и глобальные массивы, это не так сложно как кажеться! |
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
Дело не в сложности, а в отсутсвии глобалок. Ибо с ними отпадает возможность мульти-применения. Тогда вопрос: при использовании внутри scope globals, эти глобалки создаются каждый раз при запуске триггера? То есть если триг запустится пока еще не закочилось выполнение предыдущего запуска, то глобалки будут разные? |
|
|
![]()
MF
Что-то вокруг не так
offline
Опыт:
26,194Активность: |
Артте
Пишешь в триге так: Код:
Переменные будут обьявляться 1 раз при инициализации карты, ими можно будет пользоваться в любом тригге (кроме ГУИ). Пиши в аську, расскажу подробнее. |
|
|
![]()
Артте
Open up your eyes
offline
Опыт:
25,523Активность: |
А если внутри scope объявить их? в аську не могу сейчас |
|
|
![]()
MF
Что-то вокруг не так
offline
Опыт:
26,194Активность: |
Артте
Не вижу смысла. Глобалки обьявляються всегда один раз, на то они и глобалки. Не изобретай ничего нового! Делай глобальный массив, таймер и работай с ним. |
|
|
![]()
JimALIEN
вдупляет sc2 editor
offline
Опыт:
6,976Активность: |
Без глобалок в данном случае можно обойтись разве что кешем. |
|
|
![]()
Hellfim
Новичок
offline
Опыт:
81,534Активность: |
Артте, делай так:
Код:
|
|
|