FireURQ Bugtracker - FireURQ |
Просмотр подробностей проблемы |
|
Номер | Проект | Категория | Видимость | Создан | Изменен |
0000160 | FireURQ | интерфейс | общая | 2011-08-27 15:50 | 2012-01-17 21:22 |
|
Инициатор | frodo | |
Ответственный | fireton | |
Приоритет | обычный | Серьезность | малая | Воспроизводимость | не проверялась |
Состояние | закрыт | Решение | повторно открыт | |
Платформа | | Операционная система | | Версия ОС | |
Версия продукта | | |
Целевая версия | 1.3.3 | Решен в версии | 1.3.3 | |
|
Суть | 0000160: Обработка нажатий на кнопку |
Подробности | Имеем: более одной кнопки и событие, которое происходит после pause.
Если нажать мышкой на вторую, третью и проч. кнопки, а в это время перерисовалась локация, интерпретатор считает, что была нажата первая кнопка. |
Шаги по воспроизведению | |
Дополнительные сведения | Ниже - файл, который иллюстрирует суть проблемы. Если выбирать "красный" и "выключить", есть вероятность попасть на "синий". |
Метки | Нет прикрепленных меток. |
Связи | |
Вложенные файлы | bomb.qst (611) 2011-08-27 15:50 https://bt.fireurq.ru/file_download.php?file_id=22&type=bug |
|
история изменений |
Дата изменения | Пользователь | Поле | Изменить |
2011-08-27 15:50 | frodo | Новый инцидент | |
2011-08-27 15:50 | frodo | Ответственный | => fireton |
2011-08-27 15:50 | frodo | Файл добавлен: bomb.qst | |
2011-08-27 18:41 | frodo | Комментарий добавлен: 0000183 | |
2011-08-28 12:55 | fireton | Комментарий добавлен: 0000184 | |
2011-08-28 12:55 | fireton | Состояние | новый => назначен |
2011-08-28 12:57 | fireton | Целевая версия | => 1.4 |
2011-08-28 13:55 | fireton | Комментарий добавлен: 0000186 | |
2011-08-28 13:55 | fireton | Состояние | назначен => отработан |
2011-08-28 13:55 | fireton | Решен в версии | => 1.4 |
2011-08-28 13:55 | fireton | Решение | открыт => решен |
2011-09-07 22:45 | fireton | Решен в версии | 1.4 => 1.3.3 |
2011-09-07 22:45 | fireton | Целевая версия | 1.4 => 1.3.3 |
2011-09-07 22:49 | fireton | Состояние | отработан => закрыт |
2012-01-14 16:27 | frodo | Комментарий добавлен: 0000190 | |
2012-01-14 16:27 | frodo | Состояние | закрыт => нужен отклик |
2012-01-14 16:27 | frodo | Решение | решен => повторно открыт |
2012-01-15 00:16 | fireton | Комментарий добавлен: 0000191 | |
2012-01-15 00:16 | fireton | Состояние | нужен отклик => закрыт |
2012-01-15 00:16 | fireton | Решение | повторно открыт => решению не подлежит |
2012-01-16 22:21 | frodo | Комментарий добавлен: 0000192 | |
2012-01-16 22:21 | frodo | Состояние | закрыт => нужен отклик |
2012-01-16 22:21 | frodo | Решение | решению не подлежит => повторно открыт |
2012-01-17 21:21 | fireton | Комментарий добавлен: 0000193 | |
2012-01-17 21:21 | fireton | Состояние | нужен отклик => рассмотрен |
2012-01-17 21:22 | fireton | Состояние | рассмотрен => закрыт |
Комментарии |
|
(0000183)
|
frodo
|
2011-08-27 18:41
|
|
UPD: Оказалось, с инвентарем те же проблемы. В следующей программе при попытке выбрать второй, третий или четвертый предмет, иногда выбирается первый:
:0
pln Выберите предмет в инвентаре.
:1
pause 200
goto 1
end
:use_inv_Предмет1
pln Вы выбрали предмет 1
end
:use_inv_Предмет2
pln Вы выбрали предмет 2
end
:use_inv_Предмет3
pln Вы выбрали предмет 3
end
:use_inv_Предмет4
pln Вы выбрали предмет 4
end |
|
|
|
после паузы происходит перерисовка, ты же очищаешь экран и заново создаёшь локацию. естественно, подсветка перескакивает на первую позицию...
В общем, надо поправить. |
|
|
|
поправил, теперь всё нормально |
|
|
(0000190)
|
frodo
|
2012-01-14 16:27
|
|
С мышкой проблем не возникает, но если выбирать кнопки/инвентарь при помощи клавиш, указатель по-прежнему прыгает в первую позицию.
Понятно, что не так много игроков пользуются лишь клавиатурой, но для людей с ограниченными возможностями, которые не могут использовать мышь, это вызовет лишние неудобства. |
|
|
|
Тут такое дело. Когда мы останавливаемся по pause, кнопки пересоздаются. И подсветка автоматом попадает на первую кнопку. И если с мышкой действительно стоило анализировать текущие координаты курсора и перемещать подсветку туда, то с клавиатурой так не выйдет. Так что, считай это особенностью платформы. |
|
|
(0000192)
|
frodo
|
2012-01-16 22:21
|
|
Последний раз открываю этот вопрос, обещаю.
Разве нельзя запоминать параметры 'текст/локация перехода' для кнопки с фокусом? Если после паузы кнопка с такими 'текстом/локацией' существует - назначить ей фокус.
К слову, в досурке курсор остается на кнопке, даже если уйти с локации, а затем вернуться. |
|
|
|
Досурка работает по-другому. В фурке кнопки пересоздаются при каждой остановке (end, pause). Потому сохранить фокус нельзя. Можно подумать над сохранением фокуса при pause, но даже там можно между pause грохнуть все кнопки через clsb и создать новые. Хорош я буду, сохранив фокус. В любом случае, задача далеко не приоритетна, а геморроя и потенциальных багов прибавит. Потому отказать. |
|