Jump to content


Photo

Молю о помощи в создании GUI )


  • Please log in to reply
207 replies to this topic

#141 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 06 April 2016 - 12:21

Ilias, во-первых, я вам открою ещё один секрет БИСовских GUI - для каждого контроли есть стартовый параметр fade, который аналогичен setFade, и который автоматически в момент создания GUI скрывает его позволяя избежать "мерцания" в случае скрывание контролов через скрипт при медленной работе игры
Во-вторых, на вашем скриншоте данные кнопки видны, а вот на счёт action:
1. Вы каких изменений ожидали увидеть в GUI при простом присвоении значения переменно?
2. Для set переменная обязана быть изначально определена как массив, прикол со значением по умолчанию в getVariable не прокатит с set
3. Иногда лучше самому написать порядок действий через многоэтажную структуру круглых скобок - скрипт от это не сломается, а вы будете уверены что действия выполняются в нужной вам последовательности
  • 0

#142 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 13:45

Ilias, во-первых, я вам открою ещё один секрет БИСовских GUI - для каждого контроли есть стартовый параметр fade, который аналогичен setFade, и который автоматически в момент создания GUI скрывает его позволяя избежать "мерцания" в случае скрывание контролов через скрипт при медленной работе игры
Во-вторых, на вашем скриншоте данные кнопки видны, а вот на счёт action:
1. Вы каких изменений ожидали увидеть в GUI при простом присвоении значения переменно?
2. Для set переменная обязана быть изначально определена как массив, прикол со значением по умолчанию в getVariable не прокатит с set
3. Иногда лучше самому написать порядок действий через многоэтажную структуру круглых скобок - скрипт от это не сломается, а вы будете уверены что действия выполняются в нужной вам последовательности

ясно, спасибо, но всё равно ), есть ли способ это сделать?

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

action - не готовы, просто наброски


Edited by Ilias, 06 April 2016 - 13:51.

  • 0

#143 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 17:49

провёл тест,

[]spawn{sleep 10; hint"t"; _str=if(missionNamespace getVariable(str n_selected_pda+"_pda") select 1 select 0)then{"b_gps_n"}else{"b_gps_y"};_co=d_pda ctrlCreate[_str,4];};

и открыл пда
и ./*, кнопка показалась, почему

onload="_str=if(missionNamespace getVariable(str n_selected_pda+'_pda') select 1 select 0)then{'b_gps_n'}else{'b_gps_y'};_co=d_pda ctrlCreate[_str,4];";

в гуи не работает?


  • 0

#144 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 19:23

onload="[]spawn{d_pda ctrlCreate[if(missionNamespace getVariable(str n_selected_pda+'_pda') select 1 select 0)then{'b_gps_n'}else{'b_gps_y'},4];};";

работает, кто нибудь может объяснить почему?


  • 0

#145 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 06 April 2016 - 19:24

вы читали описание к ctrlCreate?
  • 0

#146 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 19:29

vlad333000

прочитал снова, нопе, что я упускаю?


Edited by Ilias, 06 April 2016 - 19:29.

  • 0

#147 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 06 April 2016 - 19:32

Ilias, у вас b_gps_n/n_gps_y определены в глобальном конфиге (Не миссии) как отдельный самостоятельный класс? (Не вложенный в какой-либо другой и не являющийся ни каким контролом любого GUI?)

Edited by vlad333000, 06 April 2016 - 19:33.

  • 0

#148 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 06 April 2016 - 19:41

Да и они являются классами от БИСов разве? (В коментах про это написано)
  • 0

#149 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 19:57

vlad333000

yes

basic yes


it working with spawn, why exactly doesn't working without?


Edited by Ilias, 06 April 2016 - 19:57.

  • 0

#150 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 06 April 2016 - 20:24

А какого вы используете глобальную переменную? Вы уверены что во время старта вашего скрипта onLoad эта переменная имеет правильное значение? (Код spawn стартует через небольшую задержку)
  • 0

#151 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 20:54

А какого вы используете глобальную переменную? Вы уверены что во время старта вашего скрипта onLoad эта переменная имеет правильное значение? (Код spawn стартует через небольшую задержку)

.., +, спасибо


  • 0

#152 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 06 April 2016 - 22:02

deleting do not working:
config

class g_mar: RscControlsGroup {
	idc = 11;
	onload="st_m_pda=false;";
	onunload="if(st_m_pda)then{missionNamespace getVariable(str n_selected_pda+'_pda')append[p_m_pda,ctrlText(d_pda displayCtrl 11 controlsGroupCtrl 1)];};";
	x = 0.479375 * safezoneW + safezoneX;
	y = 0.423 * safezoneH + safezoneY;
	w = 0.0726 * safezoneW;
	h = 0.222 * safezoneH;
	class controls {
		class e: RscEdit {
			idc = 1;
			x = 0;
			y = 0.044;
			w = 0.0721875 * safezoneW;
			h = 0.03 * safezoneH;
			colorBackground[] = {0,0,0,0.7};
		};
		class b_y: RscButton {
			idc = -1;
			text = "Create";
			action="st_m_pda=true;ctrlDelete(d_pda displayCtrl 11);";
			x = 0;
			y = 0.1;
			w = 0.0721875 * safezoneW;
			h = 0.022 * safezoneH;
		};
		class b_n: RscButton {
			idc = -1;
			text = "Cancel";
			onload="ctrlDelete(d_pda displayCtrl 11);";
			x = 0;
			y = 0;
			w = 0.0721875 * safezoneW;
			h = 0.022 * safezoneH;
		};
	};
};

(d_pda - 100% right)


Edited by Ilias, 06 April 2016 - 23:13.

  • 0

#153 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 07 April 2016 - 00:17

Ilias, ну я у вас тут нигде не вижу контрола с IDC = 11
  • 0

#154 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 07 April 2016 - 00:35

Ilias, ну я у вас тут нигде не вижу контрола с IDC = 11

the controls group it self


  • 0

#155 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 07 April 2016 - 01:00

И опять не читали описание к команде... Я вам настоятельно рекомендую его читать!
  • 0

#156 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 07 April 2016 - 01:32

И опять не читали описание к команде... Я вам настоятельно рекомендую его читать!

хоть убей, читал, 2-3 раза, всех используемых здесь команд и конролс


  • 0

#157 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 07 April 2016 - 10:21

Значит плохо читали:

ctrlDelete can only delete controls created with ctrlCreate. Use ctrlShow false and ctrlEnable false to disable existing controls.


  • 0

#158 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 07 April 2016 - 16:51

Значит плохо читали:

ctrlDelete can only delete controls created with ctrlCreate. Use ctrlShow false and ctrlEnable false to disable existing controls.

 

эта группа так и создаётся


  • 0

#159 OFFLINE   vlad333000

vlad333000

    Полковник

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

Posted 07 April 2016 - 23:48

Ilias, what? Вы же сами его пишите в конфиге - вы его сами скинули пару постов выше!!!
  • 0

#160 OFFLINE   Ilias

Ilias

    Прапорщик

  • Пользователи
  • 512 posts

Posted 08 April 2016 - 01:19

Ilias, what? Вы же сами его пишите в конфиге - вы его сами скинули пару постов выше!!!

если ты имеешь ввиду что этой командой можно только базовые классы создавать, то эта группа создаётся

_co=d_pda ctrlCreate['g_mar',11];

Edited by Ilias, 08 April 2016 - 01:27.

  • 0




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