Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Как подстроить интерфейс под размер окна?[MV]

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102908

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4290
  • Спасибо получено: 4187
  • Победитель Сбитой кодировкиРазработчикКоммерсант3 место3 место в Кодировке2 место 2 место ГотвПобедитель конкурсаВетеранУчитель
Проблема такая: есть интерфейс, я использую от MOG вот эти плагины для отображения: MOG_ActorHud и MOG_GoldHud, а для изменения размеров окна RS_ScreenManager

Проблема в том, что получается вот такая вот вещь:

size.png


При других размерах съезжает по-другому...всегда оставаясь на заданных координатах. Вот нашла, что там координаты задаются напрямую прям внутри плагина:

pka.jpg


А у меня координаты могут скакать - в зависимости от разрешения экрана быть разными, и в зависимости от этого положение будет разным, а не напрямую зависящим от конкретного числа. Пыталась задавать параметрами -не получается..или я неправильно параметр задаю.

Как можно решить эту проблему?
Можно ли вбивать туда какие-нибудь параметры типа "размер окна"? И как вообще вытащить текущий размер окна? Если не получится в настройки плагина засунуть, можно же в сам плагин, просто убрать эту настройку?

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

Во вложении приложила два плагина - худ и скрин-менеджер. Думаю, все эти худы одинаково работают, стоит сначала с одним разобраться.
Вложения:

Последнее редактирование: 3 года 7 мес. назад от AnnTenna.
Администратор запретил публиковать записи гостям.

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102930

  • Mur
  • Mur аватар
  • Вне сайта
  • Светлый дракон
  • Мур? Мур! Мур.
  • Сообщений: 572
  • Спасибо получено: 1443
  • УчительДаритель СтимкеяОрганизатор конкурсов2 место ОраторПрограммист JavaScript
AnnTenna пишет:
Можно ли вбивать туда какие-нибудь параметры типа "размер окна"? И как вообще вытащить текущий размер окна?

Ну текущий размер окна можно получить из:
SceneManager._screenWidth
SceneManager._screenHeight

Так что можно попробовать формулы для HP типа:

Y-Axis: eval(SceneManager._screenHeight - высота картинки)

Ну и соотвественно для золота

X-Axis: eval(SceneManager._screenWidth- ширина картинки)
Y-Axis: eval(SceneManager._screenHeight- высота картинки)

p.s. не могу сказать на верняка,что это сработает, но вдруг. Возможно eval может и не понадобится.

p.p.s. возможно придётся сделать мини-заплатку к плагину :3
Последнее редактирование: 3 года 7 мес. назад от Mur.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, AnnTenna

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102932

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 939
  • Спасибо получено: 1111
  • УчительОраторПроект месяца 1 местоДаритель СтимкеяПроект месяца 3 местоПаладинВетеранПрограммист JavaScript 2 место Проект месяца 2 место
Можно еще получить:
Graphics.boxWidth
Graphics.boxHeight
Как сказал бы Dmy: Не пользуйся приватными переменными...
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, AnnTenna

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102934

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4290
  • Спасибо получено: 4187
  • Победитель Сбитой кодировкиРазработчикКоммерсант3 место3 место в Кодировке2 место 2 место ГотвПобедитель конкурсаВетеранУчитель
Спасибо, что откликнулись! :) Я вообще неправильно изначально параметр прописывала, но даже если писать в редактор в менеджер плагинов правильно как вы советуете, и то и то пыталась в настройки плагина - один фиг, игра не вылетает, но нужный худ вообще в этом случае не отображает, видимо там в плагине стоит какая-то "защита от дурака" на этот случай :silly:

Попробовала забраться в сами плагины, дабы прям там вмешаться в их работу и переопределить нужные мне параметры, но и это не увенчалось успехом. :wall: Вот, например в голд-худ
//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
  var Imported = Imported || {};
  Imported.MOG_GoldHud = true;
  var Moghunter = Moghunter || {}; 
 
   Moghunter.parameters = PluginManager.parameters('MOG_GoldHud');
 
    // HUD POSITION
	Moghunter.ghud_pos_x = Number(Moghunter.parameters['Hud X-Axis'] || 555); // ТуТ же менять вроде!?
	Moghunter.ghud_pos_y = Number(Moghunter.parameters['Hud Y-Axis'] || 560); // И ТУТ
	Moghunter.ghud_number_pos_x = Number(Moghunter.parameters['Number X-Axis'] || 240);
	Moghunter.ghud_number_pos_y = Number(Moghunter.parameters['Number Y-Axis'] || 24);
	Moghunter.ghud_fade_limit = Number(Moghunter.parameters['Fade Max'] || 60);
	Moghunter.ghud_hudvisible = String(Moghunter.parameters['Initial Visible'] || "true");
 

Вроде бы и место правильное, но почему то либо не отображает вообще худ, если пишу, как сказал ДК:
Moghunter.ghud_pos_x = Number(Graphics.boxWidth-286);
	Moghunter.ghud_pos_y = Number(Graphics.boxHeight-81);

либо отображает где-то не там, если как сказала Мур, похоже, по умолчанию.
Moghunter.ghud_pos_x = Number(eval(SceneManager._screenWidth-286));
	Moghunter.ghud_pos_y = Number(eval(SceneManager._screenHeight-81));
Не туда чтоли пишу куда.

И вообще, наверное, плохая идея была лезть в сами плагины, надо было делать свой заплаткой..но если и так не работает, то ведь и заплатка не будет работать :(

Последнее редактирование: 3 года 7 мес. назад от AnnTenna.
Администратор запретил публиковать записи гостям.

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102936

  • DK
  • DK аватар
  • Вне сайта
  • Светлый дракон
  • DKPlugins
  • Сообщений: 939
  • Спасибо получено: 1111
  • УчительОраторПроект месяца 1 местоДаритель СтимкеяПроект месяца 3 местоПаладинВетеранПрограммист JavaScript 2 место Проект месяца 2 место
Попробуй найти в коде место, где используется (не присваивается) Moghunter.ghud_pos_x и вместо него написать (Graphics.boxWidth-286). Видимо, на момент присваивания размер экрана еще не поменялся, и поэтому может криво отображаться.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, AnnTenna

Как подстроить интерфейс под размер окна?[MV] 3 года 7 мес. назад #102971

  • AnnTenna
  • AnnTenna аватар
  • Вне сайта
  • Администратор
  • ловлю волны настроения
  • Сообщений: 4290
  • Спасибо получено: 4187
  • Победитель Сбитой кодировкиРазработчикКоммерсант3 место3 место в Кодировке2 место 2 место ГотвПобедитель конкурсаВетеранУчитель
Сработало! Спасибо большое!!!! :whistle:

Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.599 секунд