Перейти к содержимому


Фотография

Отображение на экране шкалы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 64

#41 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 15:03

Пробовал так на другом мониторе и вроде бы всё нормально, но снова попробовал на ноуте и теперь диалог вообще за края ушёл. 
 

x = "-0.35 * (safezoneW + safezoneX)";  
y = "-0.9  * (safezoneH + safezoneY)";  
w = "8 * (safezoneW)";  
h = "1 * (safezoneH)";

 

плюсом на пол экрана отображение статуса и т.д. и т.п.

class RscProgress { 
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)"; 
    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 = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.9  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
            
             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 = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.9  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";

           



          }; 

          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 = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.87  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          }; 

class AttackTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Attack - press F"; 
x = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.85  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          }; 

class PrigTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Jump - press SPACE"; 
            x = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.83  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          }; 
class TeleportTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Teleport - press C (Yellow)"; 
             x = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.81  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          }; 

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 = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.79  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          }; 
class FogTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Fog - press G (Blue)"; 
            x = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.77  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          };          
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 = "-0.35 * (safezoneW + safezoneX)"; 
y = "-0.75  * (safezoneH + safezoneY)"; 
w = "8 * (safezoneW)"; 
h = "1 * (safezoneH)";
          };       

        
          /* 
          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"; 
          }; 
          */ 
       }; 
    }; 
};

Как подогнать диалог для всех мониторов одинаково?


  • 0

#42 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 16:35

Убери скобки из формулы нахождения позиции и размеров (во втором они не нужны, а в 1 они будут давать не тот результат, который желается) и после этих действий 1 всегда будет означать Всю ширину/высоту монитора и правый нижний угол в зависимости где написаны, а 0 нулевые размеры и верхний левый угол
И да, не используй тип строки здесь (xywh) это усложнит читаемость конфига, а если еще и забудешь закрыть, то ковш получишь
  • 0

#43 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 16:55

что-то я не понял, про 1, 2 и т.д. 

что использовать и т.д.

запутался я в край. 


  • 0

#44 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 17:04

TankiSD, 1. Убери скобки
2. Представь прямоугольник, который олицетворяет монитор: если ты сделаешь 1 пункт то границу будут такими:
Верхний левый угол: 0;0
Верхний правый угол: 1;0
Нижний левый угол: 0;1
Нижний правый угол: 1;1
Центр: 0.5;0.5
Где 1 цифра - х, 2 - у, - те множители перед формулами

Сообщение отредактировал vlad333000: 26 June 2015 - 17:06

  • 0

#45 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 17:09

т.е.  так? 

x = "-0.35 * safezoneW + safezone";
y = "-0.83 * safezoneH + safezoneY";
w = "8 * safezoneW";
h = "1 * safezoneH";

  • 0

#46 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 17:17

TankiSD, Да, но учти что сейчас у тебя оно будет другого размера, и еще раз скажу: не используй "" в этом месте, это не ошибка, но читаемость кода уменьшается, да и это не "строчка", что бы в ней писать
  • 0

#47 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 17:28

так а как размер для всех сразу подогнать?


  • 0

#48 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 18:09

TankiSD, убираем скобки - получаем формулу, которая дает нам относительные значения, а не абсолютные, что позволит одинаково отображать твой диалог на всех разрешениях (Исключение вроде только 3 моника будет считаться)


  • 0

#49 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 18:10

Товарищ!

 

Я так сделал, вроде всё отлично, опять, но на другом моём мониторе, опять всё в тар тарары.

 

Плохая карма?

или монитор попался особенный? 


  • 0

#50 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 18:21

x = 0.425 * safezoneW + safezoneX;
y = 0.45 * safezoneH + safezoneY;
w = 0.15 * safezoneW;
h = 0.075 * safezoneH;

Выше код, ниже результат на разных разрешениях, как видите пропорции и позиция относительно разрешения одинаковы (Если смотреть полные версии картинок):


Сообщение отредактировал vlad333000: 26 June 2015 - 18:23

  • 1

#51 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 19:14

точно также делал) 

 

может видеокарта что чудит?

потому как преэффекты тоже по разному отображаются. 

 

Плюсом теперь вот ещё одна проблемка появилась

 

Прикрепленный файл  arma3 2015-06-26 21-26-07-497.jpg   111.21К   0 Количество загрузок:

 

Прикрепленный файл  arma3 2015-06-26 21-26-38-638.jpg   77.88К   0 Количество загрузок:

 

Прикрепленный файл  arma3 2015-06-26 21-26-46-133.jpg   55.6К   0 Количество загрузок:

 

Насчёт того, зачем всё это надо.

Типо как превью

 


Сообщение отредактировал TankiSD: 26 June 2015 - 19:29

  • 0

#52 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 20:15

А сам скриптик можно?



преэффекты

не пре-эффекты, а пост-эффекты, т к эту лабуду обычно добавляет ЦП, после (Post) того как все картинку отрендерит ГП, пре-эффектов наверное даже в природе не существует :) хотя как знать


  • 0

#53 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 20:21

class RscProgress { 

x = "0 * safezoneW + safezoneX"; 
y = "-0.45 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";

  SizeEx = "(         (         (         ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; 
    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 * safezoneW + safezoneX"; 
y = "-0.45 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";

    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 = "0 * safezoneW + safezoneX"; 
y = "-0.45 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";

            
             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 = 0 * safezoneW + safezoneX; 
y = -0.45 * safezoneH + safezoneY; 
w = 8 * safezoneW; 
h = 1 * safezoneH;

          }; 

          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 = "0 * safezoneW + safezoneX"; 
y = "-0.45 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          }; 

class AttackTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Attack - press F"; 


x = "0 * safezoneW + safezoneX"; 
y = "-0.42 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";

          }; 

class PrigTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Jump - press SPACE"; 


x = "0 * safezoneW + safezoneX"; 
y = "-0.4 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          }; 
class TeleportTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Teleport - press C (Yellow)"; 


x = "0 * safezoneW + safezoneX"; 
y = "-0.38 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          }; 

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 = "0 * safezoneW + safezoneX"; 
y = "-0.36 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          }; 
class FogTitle : RscTitle { 
             idc = 2000; 
             type = 0; 
             style = 0; 
             colorText[] = {0.5, 0.5, 0.5, 0.9}; 
             text = "Fog - press G (Blue)"; 


x = "0 * safezoneW + safezoneX"; 
y = "-0.34 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          };          
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 = "0 * safezoneW + safezoneX"; 
y = "-0.32 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          };       

        
          /* 
          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"; 
          }; 
          */ 
       }; 
    }; 
};
private ["_display","_value","_control"];
disableserialization;
_display = _this select 0;

while {alive player} do {
	
	_control = _display displayCtrl 6300;	//	Progressbar  dammage
	
	_value = time;
                   
	_control progressSetPosition _value;

	_control = _display displayCtrl 2000;	//	Title  dammage

	switch true do {
		case (_value - I < 10): {
			_control ctrlSetBackgroundColor [0, 0, 0, 0];

		};
		case ((_value - I > 30) and (_value - I < 50)): {
			_control ctrlSetBackgroundColor [1, 1, 0, 0.5]; //	Yellow

		};
		case (_value - I > 60): {
			_control ctrlSetBackgroundColor [0, 0, 1, 0.5]; //	BLUE

		};
	};
	
	
	
	sleep 1;
};

=====

 

ну пост эффекты, да)


Сообщение отредактировал TankiSD: 26 June 2015 - 20:31

  • 0

#54 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 20:31

TankiSD, почему у многих есть привычка забывать про отступы? Без них, человек читающий ваш код может запутаться, что к чему относиться (Я это про конфиг Rcs, касательно x,y,w,h)

TankiSD, и что вас тут не устраивает? Цвета - норм, положение - теперь норм


Сообщение отредактировал vlad333000: 26 June 2015 - 20:29

  • 0

#55 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 20:32

я исправил!) 

вроде бы) 


  • 0

#56 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 20:34

PS WTF было в конце?


  • 0

#57 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 20:39

?

 

где?


  • 0

#58 OFFLINE   vlad333000

vlad333000

    Полковник

  • Пользователи
  • 3224 сообщений
  • Откуда:Кострома

Отправлено 26 June 2015 - 20:46

TankiSD, В видео 1:56 


Сообщение отредактировал vlad333000: 26 June 2015 - 20:46

  • 0

#59 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 20:47

убийство жЫ.

 

типо то существо его так убило


  • 0

#60 OFFLINE   TankiSD

TankiSD

    Ст. Прапорщик

  • Пользователи
  • 680 сообщений

Отправлено 26 June 2015 - 21:05

 

TankiSD, и что вас тут не устраивает? Цвета - норм, положение - теперь норм

 

post-6162-0-31590700-1435332454_thumb.jp

 

А раньше, синяя и тёмная область, была только на Power Концентрации

 

==============

 

Удалил эту часть...

 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 = "0 * safezoneW + safezoneX"; 
y = "-0.45 * safezoneH + safezoneY"; 
w = "8 * safezoneW"; 
h = "1 * safezoneH";


          }; 

Ничего не изменилось.

 

Вопрос - зачем она нужна была?


Сообщение отредактировал TankiSD: 26 June 2015 - 22:36

  • 0




Яндекс.Метрика