Сколько ищу не могу понять как сделать анимированный фрейм за пределами основного экрана, например, такой, какой появляется при появлении нового героя вокруг его иконки, в классике ни единого упоминания о таком.

Принятый ответ

Для любых манипуляций за 08 06, нужно сменить родителя на ConsoleUIBackdrop
BlzFrameSetParent(frame, BlzGetFrameByName("ConsoleUIBackdrop", 0))
При это сам ConsoleUIBackdrop должен быть видим, не скрыт, а например убран за пределы или с нулевой прозрачностью
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
23
4 года назад
1
Nelloy, боже какой плохой совет! Это плитки в fdf пишеш размер и он сам будет поочередно менять чем твои таймеры

И к тому же это не картинка а модель который там и проигривает внутри текстуры
0
9
4 года назад
0
pro100master:
Nelloy, боже какой плохой совет! Это плитки в fdf пишеш размер и он сам будет поочередно менять чем твои таймеры

И к тому же это не картинка а модель который там и проигривает внутри текстуры
И так понятно, что в fdf прописывать надо, найти хотя бы стандартный, который я б наследовать мог.
По поиску даже не ясно, что искать SPRITE, MODEL или HILIGHT. Причем это что-то особое потому, что если взять например эту наработку-SPRITE, ее нельзя за границы пихнуть.
0
17
4 года назад
Отредактирован GetLocalPlayer
0
Для анимации используется спрайт, хороший пример тут
За пределами холста скорее всего адекватно не выйдет. Система координат ряда стандартных фреймов (которые простираются за пределы предоставленного нам холста) отличается от той, с которой нам позволено работать.
0
17
4 года назад
Отредактирован N1ghtSiren
0
На map init можно частично трогать то, что в игре недоступно
Так что можно попытаться построить лестницу влево или вправо, крепя фреймы один к одному
Либо пошаманить с console_ui, раз её можно двигать вниз, значит можно и сторонам
0
29
4 года назад
Отредактирован nazarpunk
0
N1ghtSiren, то что недоступно ты никак не потрогаешь и движок не даст вылезти за пределы 0.8-0.6 а будет просто сплющивать фрэймы у границ. Даже если их прикрепить к геройским иконкам.
0
13
4 года назад
0
Koladik, за пределами холста 0.8х0.6 могут быть только SIMPLEFRAME, SIMPLEBUTTON, SIMPLESTATUSBAR и SIMPLECHECKBOX(нерабочий).
0
9
4 года назад
0
Nelloy:
Koladik, за пределами холста 0.8х0.6 могут быть только SIMPLEFRAME, SIMPLEBUTTON, SIMPLESTATUSBAR и SIMPLECHECKBOX(нерабочий).
Мне кажется, на картинке хороший пример того, что это не совсем так, или это каким-то образом анимированный простой фрейм
GetLocalPlayer:
Для анимации используется спрайт, хороший пример тут
В моем предыдущем комменте тот же самый пример.
GetLocalPlayer:
адекватно не выйдет
Да хоть бы просто понять как это вообще возможно, эта штука же в каком-то файле прописана.
0
32
3 года назад
Отредактирован Берги
0
Для любых манипуляций за 08 06, нужно сменить родителя на ConsoleUIBackdrop
BlzFrameSetParent(frame, BlzGetFrameByName("ConsoleUIBackdrop", 0))
При это сам ConsoleUIBackdrop должен быть видим, не скрыт, а например убран за пределы или с нулевой прозрачностью
Принятый ответ
0
23
3 года назад
0
А есть и простой способ
Берем ширину экрана который в данной функции есть. и отнимаем ширину 0.8 и делим на двое и получаете результат оступ от центра 0.8 и смешаете оффсет на указаннй кординат левую точку.
0
32
3 года назад
0
pro100master, неа всё равно фрейм либо сплющится о границы либо вообще сожмётся в 0-пиксель и виден не будет
0
23
3 года назад
0
например
local padding = (1.02 - 0.8) / 2
Где 1.02 это ширина экрана из функции нового нативки
создаете слево фрейм где 0, 0 и устанавливаем оффсет на -padding

Bergi_Bear, ну потому что родитель не дает ему выйди за пределы фрейма. Это можно отвязать как свободный фрейм
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.