0 Members and 15 Guests are viewing this topic.
Я прикрепил файл проекта с данной проблемой. Что бы ее увидеть нужно открыть проект и разлочить один скрипт(иначе проект при открытии вешает редактор), потом собрать и запустить скин.
Как в скриптах адаптировать конкретные числа при изменении dpi?
Не надо ничего адаптировать, движок работает в размерах 96dpi и сам потом все масштабирует.
Может ли ScriptableEventHandler определять кто его вызвал?
Artem, у меня в ScriptableEventHandler есть строки "FindObject('Ef2').Set('PlaceInfo.Margins.Left', (Arguments.Get('X')-64));" и число 64 не меняется а остается прежним.
Не очень понял. А куда оно должно меняться? Что это за число? На что оно указывает?
Это число нужно для правильного размещения объекта по событию(поправка), для 100% оно должно быть таким, а для 200% в два раза больше но, оно остается заданным.
Ну не с потолка же эта поправка взялась? Как вы ее изначально посчитали? Вы понимаете, что PlaceInfo.Margins.Left задается для 100%? А уже потом полученное число будет движком умножаться на 2 (для 200%).
procedure Execute(var State: Integer);var A, S: TComponent;begin A:= FindObject('Ef2'); S:= FindObject('Ef2_2'); case State of 0: begin A.Set('Skin.ID', 'Krug1'); S.Set('Skin.ID', 'Krug1'); end; 1: begin A.Set('Skin.ID', 'Krug1_White'); S.Set('Skin.ID', 'Krug1_White'); end; end; end;
Read more...Code: [Select]procedure Execute(var State: Integer);var A, S: TComponent;begin A:= FindObject('Ef2'); S:= FindObject('Ef2_2'); case State of 0: begin A.Set('Skin.ID', 'Krug1'); S.Set('Skin.ID', 'Krug1'); end; 1: begin A.Set('Skin.ID', 'Krug1_White'); S.Set('Skin.ID', 'Krug1_White'); end; end; end;Что здесь не так? Вместо того что бы поменять текстуру она вообще исчезает.