Можно ли убрать сверху невидимую полосу?
Если скрыть интерфейс, то там остается невидимая полоса в том месте, где раньше были кнопки меню, отображение ресурсов, часы. Когда курсор туда попадает, то некоторые фреймы не работают. Событие триггера показывает координаты 0.0.
Создают сетку экрана, и эта полоса становится видимой на фоне этих фреймов. Фреймы я сделал слегка видимыми.
Есть предположение, что эта полоса просто находится выше, чем наши фреймы.
BlzGetFrameByName("ConsoleUIBackdrop", 0) - по факту этот родитель занимает самый нижний уровень. Ниже только мировой фрейм экрана. Этот волшебный родитель работает за пределами экрана 4:3, поэтому он нужен как воздух.
BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI ,0) - пробовал выше для проверки. Теперь у меня все лежат в пределах 4:3. Теперь не знаю. Тут тоже не работает, полоса находится выше.
Или можно использовать BlzGetFrameByName("Leaderboard", 0) или BlzGetFrameByName("Multiboard", 0). Эти изображения находятся выше SimpleFrames, но мультиборд или доску нужно сначала создать. То есть изображение вашего фрейма может находится выше, чем изображения других фреймов. Ваши фреймы также могут быть потомками этих других родителей, где не влияет ограничение экрана 4: 3.
Искал ответ на хайве, теперь не знаю. Там похоже никто этим не задавался. Но заметил, что некоторые фреймы выделяются, если они там частично лежат. А если целиком, то нет.



Views: 118

Bergi_Bear #1 - 2 months ago 0
Голосов: +0 / -0
Да, тоже волнует эта верхняя полоска, я тоже увы так и не нашел ничего по ней. HideOrigisFrame, её оставляет, значит она не скроется так просто либо её родитель. Вот уже не помню, пробовал ли сделать - скрыть ConsoleUIBackdrop и потом проверить координаты вверху? Ну или может быть она от World фрейма идёт
МрачныйВорон #2 - 2 months ago 0
Голосов: +0 / -0
Bergi_Bear, да пробовал скрыть ConsoleUIBackdrop - ничего не получается.
Bergi_Bear #3 - 2 months ago 0
Голосов: +0 / -0
А если со скрытыми?
ORIGIN_FRAME_WORLD_FRAME
ORIGIN_FRAME_GAME_UI
я понимаю что экран почернеет и ты ничего не увидишь, дебаг куда нить в прелоад положить
но тогда хотя бы будет зацепка, от какого родителя искать
МрачныйВорон #4 - 2 months ago (изм. ) 2
Голосов: +2 / -0
Bergi_Bear, а что дебажить, просто не знаешь что за полоса наверху и к какому фрейму относится, как называется. есть идея посмотреть в архивах в fdf-file. Просто по размерам чекнуть
ORIGIN_FRAME_WORLD_FRAME - отвечает за игровую область. Это самый-самый нижний фрейм, за ним вроде объекты на карте лежат, короче сама карта (юниты, декор,итем и пр). Отключаешь его, и черный экран. У него один потомок, я его прятал. Ничего.
ORIGIN_FRAME_GAME_UI - он отвечает за все. Так что ничего не дает.
Из всех известных в скриптах фреймах ничего на ум не приходит
Bergi_Bear #5 - 2 months ago 0
Голосов: +0 / -0
МрачныйВорон, эх тогда печально, ну не закрывай тему, в любом случае решение должно прийти (когда-нибудь)