Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Вопрос - ответ Диалог |
Диалог |
› Среда
› 24.06.2015
› 20:04
› Сообщение #
Есть диалог.
И проблема в том, что на разных компах, он отображается по разному. Вопрос - почему? Код class RscProgress { x = 0.344; y = 0.619; w = 0.313726; h = 0.0261438; shadow = 2; texture = "#(argb,8,8,3)color(1,1,1,1)"; colorFrame[] = {0, 0, 0, 0}; colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; }; class RscText { x = 0; y = 0; h = 0.037; w = 0.3; style = 0; shadow = true; colorShadow[] = {0, 0, 0, 0.5}; font = "PuristaMedium"; SizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; colorText[] = {1, 1, 1, 1.0}; colorBackground[] = {0, 0, 0, 0}; linespacing = 1; tooltipColorText[] = {1, 1, 1, 1}; tooltipColorBox[] = {1, 1, 1, 1}; tooltipColorShade[] = {0, 0, 0, 0.65}; }; class RscBackground : RscText { type = VSoft; IDC = -1; style = 512; shadow = false; x = 0.0; y = 0.0; w = 1.0; h = 1.0; text = ""; ColorBackground[] = {0.48, 0.5, 0.35, 1}; ColorText[] = {0.1, 0.1, 0.1, 1}; font = "PuristaMedium"; SizeEx = 1; }; class RscTitle : RscText { style = 0; sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; colorText[] = {0.95, 0.95, 0.95, 1}; }; class RscTitles { class RscDisplayPlayerStatus { idd = 6900; movingEnable = 0; duration = 1000000; name = "DisplayPlayerStatus"; onLoad = "_this spawn compile preprocessfilelinenumbers ""RscDisplayPlayerStatus.sqf"""; onUnload = ""; class ControlsBackground { class CA_ContainerBackground : RscBackground { idc = 1001; type = 0; style = 0; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "-1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "8 * ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; colorBackground[] = {0.05, 0.05, 0.05, 0.55}; }; }; class controls { class DammageTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Power Concentration"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "-1* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "8* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class DammageProgress : RscProgress { idc = 6300; texture = ""; textureExt = ""; colorBar[] = {0.9, 0.9, 0.9, 0.2}; colorExtBar[] = {1, 1, 1, 1}; colorFrame[] = {1, 1, 1, 1}; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "-1* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "8* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class AttackTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Attack - press F"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "0* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "8* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class PrigTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Jump - press SPACE"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "1* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "10* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class TeleportTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Teleport - press C (Yellow)"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "2* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "15* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class CloneTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Spawn Clones - press R (Yellow)"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "3* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "15* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class FogTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Fog - press G (Blue)"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "4* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "10* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; class BoecTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Create Soldier - press T (Blue)"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "5* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "15* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; /* class ExampleControl { idc = -1; type = 0; style = 0; x = 0; y = 0; w = 1; h = 1; font = "EtelkaNarrowMediumPro"; sizeEx = 0.1; colorBackground[] = {0,0,0,1}; colorText[] = {1,1,1,1}; text = "Example Text"; }; */ }; }; }; |
› Среда
› 24.06.2015
› 20:31
› Сообщение #
T-72Б, не компах а мониторах, формат разный, компенсируется спец.операторами
|
› Среда
› 24.06.2015
› 21:08
› Сообщение #
|
› Среда
› 24.06.2015
› 22:00
› Сообщение #
x = 0.43 * safezoneW + safezoneX;
y = 0.43 * safezoneH + safezoneY; w = 0.29 * safezoneW; h = 0.21 * safezoneH; safezoneX, safezoneY - координаты верхнего левого угла safezoneH, safezoneW - высота и ширина экрана |
› Среда
› 24.06.2015
› 22:11
› Сообщение #
Код class controls { class DammageTitle : RscTitle { idc = 2000; type = 0; style = 0; colorText[] = {0.5, 0.5, 0.5, 0.9}; text = "Power Concentration"; x = "-6 * ( ((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; y = "-1* ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - ( ((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; w = "8* ( ((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; }; ну так вот я прописываю ведь. не могу я понять. |
› Среда
› 24.06.2015
› 22:18
› Сообщение #
с моей формулой сравни своё художество
вот это пример x = 0.344 ; y = 0.619; w = 0.313726; h = 0.0261438; правильно будет так x = 0.344 * safezoneW + safezoneX; y = 0.619 * safezoneH + safezoneY; w = 0.313726 * safezoneW; h = 0.0261438 * safezoneH; |
› Пятница
› 26.06.2015
› 11:43
› Сообщение #
а-а-а-а-а!!!
Так вот самое главное что! Код class RscProgress { x = 0.344; y = 0.619; w = 0.313726; h = 0.0261438; shadow = 2; texture = "#(argb,8,8,3)color(1,1,1,1)"; colorFrame[] = {0, 0, 0, 0}; colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"}; }; Добавлено (26.06.2015, 11:43) |
› Пятница
› 26.06.2015
› 11:54
› Сообщение #
Значит неправильно делал.
|
› Пятница
› 26.06.2015
› 12:11
› Сообщение #
Единственное, когда меняется диалог, это если изменять class controls.
Всё остальное, вообще не меняется, какие бы значения я не ставил. |
› Пятница
› 26.06.2015
› 12:46
› Сообщение #
|
› Пятница
› 26.06.2015
› 13:38
› Сообщение #
Я сделал всё на другом мониторе, снова подогнал.
Но там теперь диалог, class RscProgress на пол экрана и на другом мониторе, диалог вообще выходи за границы. Пробовал как Код x = "-0.35 * (safezoneW + safezoneX)"; y = "-0.9 * (safezoneH + safezoneY)"; w = "8 * (safezoneW)"; h = "1 * (safezoneH)"; Код x = -0.35 * (safezoneW + safezoneX); y = -0.9 * (safezoneH + safezoneY); w = 8 * (safezoneW); h = 1 * (safezoneH); |
› Пятница
› 26.06.2015
› 14:56
› Сообщение #
вот я и говорю - Неправильно делаеш
не может class RscProgress кудато выходить, он не входит в состав диалога а входит в состав class DammageProgress : RscProgress { ты его параметры менял? |
› Пятница
› 26.06.2015
› 15:07
› Сообщение #
Товарищ! Я все параметры менял.
Экспериментировал. На одном мониторе всё хорошо, за некоторым существенным исключением, с который появился. На другом вообще ничего не показывает, т.к. ушло за монитор. Я просто принцип вычисления координат не могу понять. Вернее я как бы их понял, но вот как подогнать для всех мониторов, я не знаю. |
› Пятница
› 26.06.2015
› 18:11
› Сообщение #
попробую объяснить.
есть разные форматы мониторов 4:3, 5:4, 16:9 координаты верхнего левого угла [x, y ] у них разные координата [0, 0] - соответствует формату 4:3 у формата 16:9 например будет [-0.2, 0.05] размер экрана [h, w] у них разный [1, 1] - соответствует формату 4:3 чтобы уровнять разные форматы есть спец операторы, они показывают текущую величину операторы safeZoneX, safeZoneY -всегда показывают на верхний левый угол операторы safeZoneH, safeZoneW -всегда показывают текущий размер монитора например, чтобы поместить окно Одинаково для любого монитора на 10% ниже края и на 20% от левого края, надо указать Y = 0.1 * safeZoneH + safeZoneY; - сдвиг по высоте т.е к координате Верхней точки safeZoneY прибавить 10% от размера по высоте 0.1 * safeZoneH X = 0.2* safeZoneW + safeZoneX; - сдвиг в право |
› Пятница
› 26.06.2015
› 18:31
› Сообщение #
Так вот я это так и делаю)))
Может видеокарта шалит? потому как постэффекты также по разному отображаться стали. раньше такого не было. |
| |||
Чат сайта |