![]()
Rizen
![]() ![]() offline
Опыт:
2,126Активность: |
Вопрос по теории переменных
Интересует то, как работают переменные. К примеру, у меня есть 10 героев, играющих на карте. Если я использую одну переменную Temp_Point и, к примеру, сразу 3 персонажа начнут применять разные способности, использующие эту переменную, что из этого будет? Я предполагаю, что если в способностях используются Wait'ы, ничего хорошего из этого не получится, а если их нет? Что насчет массивов, они могут как-то решить данную проблему? В карте очень много скиллов, лишние переменные плодить не хочется, а переменные вида Temp_Point[24] неудобны и не понятны. Хэш-таблицы - выход из такой ситуации? |
![]() |
#1
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Темак
jass for everyone
![]() ![]() offline
Опыт:
7,200Активность: |
Rizen:
без использования wait'ов скиллы активируют нужные тебе события в порядке использования (даже если между ними прошли тысячные секунды) и всё пройдет нормально. Нужно просто уяснить что такое поток. Поток - это порядок действия функций который можно прервать только вейтами. и никак иначе, если ты сделаешь гигантскую библиотеку с сотней циклов и функций, то только её ничто не прервет пока она не отработает все свои функции. Но из-за этого могут появится лаги, потому что библиотека как-раз не будет давать другим функциям работать (очередь забьется и комп может полностью зависнуть) так я понимаю поток. Кстати именно поэтому гуи априори - уг. Потому что в ней используется огромное количество ненужных проверок и функций. Rizen: да Отредактировано Temak1, 02.11.2012 в 10:51. |
![]() |
#2
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Hate
конь вакуумный
![]() ![]() offline
Опыт:
43,033Активность: |
хештейбл выход? лолшто?
ваш выход это использование локалок и таймеров и только плюс к этому хт. |
![]() |
#3
+1/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
DioD
![]() ![]() offline
Опыт:
45,134Активность: |
джаз идёт в один поток, никогда ничто не произойдёт "одновременно".
если нет nested потоков и триггер слипов то одна глобалка на всё реально и безопасно.
nested это итераторы групп и прочая чепуха. |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
quq_CCCP
Я белый и пушистый!
![]() ![]() offline
Опыт:
93,494Активность: |
Rizen, Да не бойся, если вейты не юзать, то можно и бж переменные использовать, никакого вреда не будет, хештаблица тут вовсе не обязательна, можно создать штук 5 глобалок, разного типа и юзать во всех триггеров где действия выполняются сразу, без вейтов...
необязательно, но тем не мене важно Список полезных глобальных переменных Blizzard: ((код jass
unit bj_lastCreatedUnit unit bj_lastReplasedUnit player bj_groupEnumOwningPlayer hashtable bj_lastCreatedHashtable полный список смотри в blizzard j, или в функции InitBlizzardGlobals )) |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|