yellyex
offline
Опыт:
4,667Активность: |
Глюки интерфейса в батлнете.
Привет!
При нажатии на экранную кнопку создаётся диалоговое окно с кнопками. При тесте, нажимая на кнопки диалогового окна, всё балгополучно удаляется и создаётся заного (у меня такое меню в интерфейсе) и кнопки и новые диалоговые окна. А вот в батлнете карта лежит не у меня на компе, а где-то там далеко и при нажатии на кнопки происходит задержка удаления и создания новых диалоговых окон и кнопок. При нажатии чуть быстрее на кнопки, старые диалоговые окна просто не исчезают. Даже при нажатии специальной кнопки, которая уничтожает все диалоговые объекты и окна, они остаются. Кто сталкивался с этой проблемой? Кто может мне помочь? |
14.05.2012, 15:24 | #1
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
Попробуй добавить в реакцию кнопок условия, которые делали бы задержку неспособной повлиять на результат нажатия.
Например, у меня была кнопка, которая псле нажатия должна исчезнуть. Но из-за задержки, игрок успевал нажать на неё несколько раз, так что функция выполнялась многократно. Я просто поставил счётчик, чтоб функция выполнялась только один раз. Отредактировано Zolden, 14.05.2012 в 17:12. |
14.05.2012, 17:06 | #2
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
Zolden, Какой счётчик? Возможно это мой выход!!! :) Скажи пожалуйста конкретнее, а то я уже ставлю массивы к переменным на случай многократного нажатия, чтобы потом их все удалить :) |
14.05.2012, 17:21 | #3
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
ну, не счётчик, просто проверка условия, что кнопка уже один раз была нажата, чтоб в случае повторного нажатия функция не выполнялась
в твоём случае тоже надо проверять условия, а не сражу по нажатии выполнять действие |
14.05.2012, 17:41 | #4
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
Просто если сигнал ещё не дошёл... Ну по конкретней какое условие? |
14.05.2012, 17:47 | #5
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
событие - нажата
действие
простые семафоры =) |
14.05.2012, 18:38 | #6
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
yellyex
offline
Опыт:
4,667Активность: |
Спасибо ScorpioT1000 и Zolden. Проблема заключалась в большой загруженности триггера. Я разделил триггер на две части. Первая часть отвечает за включение триггера с основными данными, которых много. И в первом триггере я поставил проверку из целочисленных, если 1 до НЕТ, если 0, то да. И таких переменных-целочисленных сделано на каждый триггер. Изначально все переменные имеют значение 1. При нажатии на кнопку, "лёгкий", первый триггер быстрее доходит до сервера (я так думаю) и задаёт значение первой переменной 1, и после запускает, "тяжёлый", основной триггер с данными. И теперь сколько бы и как быстро бы я не кликал на кнопку она не нажмётся несколько раз. Спасибо "лёгкому" триггеру за его быстроту. Но если честно, то я ещё до конца не уверен, что дело в скорости передачи данных к серверу. Но мне это уже не важно. Главное я получил нужный результат и закрепил его тестами. Теперь осталось только это хорошо оформить. |
15.05.2012, 07:12 | #7
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
Кстати да. Вроде бы на батлнете лимит времени, отводимый для триггеров, меньше локального. Так что однажды я никак не мог понять, почему мой триггер на сервере делал не всё, что делал при локальных тестах. Оказалось, он был слишком вычислительноёмкий, тоже пришлось разбивать. |
15.05.2012, 13:24 | #8
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
ScorpioT1000
Работаем
online
Опыт: отключен
|
А если он будет бесконечный, периодический, то что? Вон из доджа? |
15.05.2012, 15:48 | #9
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Zolden
offline
Опыт:
1,588Активность: |
ScorpioT1000:
Если используется wait, то всё ок. Насколько я понимаю, команда wait прекращает выполнения триггера и возобновляет его по событию от таймера. То же самое с периодическими триггерами. Но если триггер непрерывно вычисляетя некоторое время, то его прерывают. В патче 1.5 повысили некоторе лимиты, может и временной повысят. |
15.05.2012, 17:41 | #10
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|
Зевс
Адская Зверюга
offline
Опыт:
152,154Активность: |
Как бы очень полезно все разделять на действия, запуская их в персональных ветках (галочку ставим). |
19.05.2012, 23:46 | #11
+0/−0
Профиль |
Приват |
Поиск |
IP: Записан
|