Добавлен Koladik
Проблема. Как известно, сейчас существует баг, что при нажатии на фрейм-кнопку с нее не сбрасывается фокус и из-за этого, по видимому, еще и перестают работать триггеры ввода с клавиатуры, например:
call BlzTriggerRegisterPlayerKeyEvent(trigger, Player(0), OSKEY_W, 0, true)
Мне нужен был фрейм, который работал б с следующим триггером но не имел функции нажатия(этого я не добился) для того, чтобы не работал баг с фокусом.
call BlzTriggerRegisterFrameEvent(trigger, fraim, FRAMEEVENT_MOUSE_ENTER)
Возможно, я создаю довольно примитивный фрейм для своих целей, так как быстро перешел от теории фремов к практике
set fraim = BlzCreateFrameByType("BUTTON", "FrameGridBoss", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0),"",0)
Единственное решение проблемы фокуса кнопки, которое я нашел, это перезапускать все кнопки при каждом нажатии мышки
call BlzFrameSetEnable(fraim, false)
call BlzFrameSetEnable(fraim,true)
Собственно вопрос. Существует ли более элегантное решение проблемы? Возможно, существует фрейм который бы работал с действием наведения но не имел функции нажатия? Или в бетта рефордж 1.32 уже пофиксили этот баг?
Принятый ответ
native BlzFrameSetFocus takes framehandle frame, boolean flag returns nothing
а ещё можно к кнопке или фрейму прикрепить tooltip который будет отображаться при наведении на фрейм
--menu - родительский элемент кнопки
function AttachTooltip(menu, button, text)
local tooltip = BlzCreateFrameByType("TEXT", "StandardInfoTextTemplate", menu, "StandardInfoTextTemplate", 0)
BlzFrameSetSize(tooltip, 0.148, 0.02)
BlzFrameSetPoint(tooltip, FRAMEPOINT_BOTTOMLEFT, menu, FRAMEPOINT_BOTTOMLEFT, 0.015, 0.015)
BlzFrameSetTextAlignment(tooltip, TEXT_JUSTIFY_TOP, TEXT_JUSTIFY_LEFT)
BlzFrameSetText(tooltip, text)
BlzFrameSetTooltip(button, tooltip)
end
на хайве тоже достаточно инфы:
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. N1ghtSiren
Делал сетку невидимых фремов отлова мышки для управления от первого/третьего лица, оказалось, что сейчас для этой цели лучше всего подходит тип "SCROLLBAR" он не вызывает фокуса при нажатии на него и работает с наведением. Может кому-то поможет для подобной системы.