Универсальный контроллер разм. и позиц. GUI интерфейса. - Форум Игроделов
Чт, 02 Май 2024, 16:16 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Универсальный контроллер разм. и позиц. GUI интерфейса. ([JS] не реалтайм!)
Универсальный контроллер разм. и позиц. GUI интерфейса.
ЛевшаДата: Вс, 19 Июн 2011, 12:12 | Сообщение # 1
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
С этим кодом ничего, никуда не расползаеться, все четко стоит на местах под любым разрешением экрана, а так же сохраняються формы круглых и квалратных обьектов GUI (необходимо присвоить им тег).

Для GUITexture:

Доступно только для пользователей

Для GUIText:

Доступно только для пользователей

Обьясняю суть кода:
Обычно все работают в редакторе в режиме FreeAspect (но это не важно, применимо под любое разрешение), устанавливаете все параметры размеров и позиций обьектов GUI как обычно в инспекторе, в свойствах.
Затем вешаете данный скрипт на каждый GUI обьект интерфейса. (ВАЖНО! - в делители переменных scrinBalansWidth и scrinBalansHeight пропишите реальные значения разрешения в котором настраивался GUI).
Дальше скрипт будет сам устанавливать все позиции и размеры относительно ScrinResolution, четко сохраняя все обьекты на своих местах в любой точке экрана.
Скрипт сначала записывает в свои переменные ваши настройки, затем пересчитывает все под текущее разрешение экрана и возвращает назад уже уточненые, сохраняя все соотношения и применяя новые размеры и позиции обьектов. smile

640 х 480


1920 х 1080


Аналогично и во всех промежуточных разрешениях. smile


X.cor.R (Prologue)
 
СообщениеС этим кодом ничего, никуда не расползаеться, все четко стоит на местах под любым разрешением экрана, а так же сохраняються формы круглых и квалратных обьектов GUI (необходимо присвоить им тег).

Для GUITexture:

Доступно только для пользователей

Для GUIText:

Доступно только для пользователей

Обьясняю суть кода:
Обычно все работают в редакторе в режиме FreeAspect (но это не важно, применимо под любое разрешение), устанавливаете все параметры размеров и позиций обьектов GUI как обычно в инспекторе, в свойствах.
Затем вешаете данный скрипт на каждый GUI обьект интерфейса. (ВАЖНО! - в делители переменных scrinBalansWidth и scrinBalansHeight пропишите реальные значения разрешения в котором настраивался GUI).
Дальше скрипт будет сам устанавливать все позиции и размеры относительно ScrinResolution, четко сохраняя все обьекты на своих местах в любой точке экрана.
Скрипт сначала записывает в свои переменные ваши настройки, затем пересчитывает все под текущее разрешение экрана и возвращает назад уже уточненые, сохраняя все соотношения и применяя новые размеры и позиции обьектов. smile

640 х 480


1920 х 1080


Аналогично и во всех промежуточных разрешениях. smile

Автор - Левша
Дата добавления - 19 Июн 2011 в 12:12
123_XanteR_456Дата: Вт, 08 Ноя 2011, 15:57 | Сообщение # 2
Нет аватара
 
Сообщений: 169
Награды: 0
Репутация: 35
Статус: Offline
Немного флуда:
попробуйте изменить Start на Update,и посмотрите biggrin Классный эффект)


Неплохо знаю JavaScript(Unity3D API) =)

Сообщение отредактировал 123_XanteR_456 - Вс, 06 Май 2012, 11:34
 
СообщениеНемного флуда:
попробуйте изменить Start на Update,и посмотрите biggrin Классный эффект)

Автор - 123_XanteR_456
Дата добавления - 08 Ноя 2011 в 15:57
НиколайДата: Ср, 25 Июл 2012, 19:57 | Сообщение # 3
 
Сообщений: 385
Награды: 5
Репутация: 78
Статус: Offline
Круто!Забрал.

Добавлено (25.07.2012, 19:57)
---------------------------------------------

Quote
Затем вешаете данный скрипт на каждый GUI обьект интерфейса.

Это надо вешать на объект на котором висит скрипт гуи?


 
СообщениеКруто!Забрал.

Добавлено (25.07.2012, 19:57)
---------------------------------------------

Quote
Затем вешаете данный скрипт на каждый GUI обьект интерфейса.

Это надо вешать на объект на котором висит скрипт гуи?

Автор - Николай
Дата добавления - 25 Июл 2012 в 19:57
ЛевшаДата: Ср, 25 Июл 2012, 20:44 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
На все гуиТекстуреОбьекты, на которых нужно сохранять позицию и размер при смене разрешения экрана.
Для гуиТекста немного другой код, хотя принцип такой же.


X.cor.R (Prologue)
 
СообщениеНа все гуиТекстуреОбьекты, на которых нужно сохранять позицию и размер при смене разрешения экрана.
Для гуиТекста немного другой код, хотя принцип такой же.

Автор - Левша
Дата добавления - 25 Июл 2012 в 20:44
DekterevДата: Чт, 26 Июл 2012, 13:45 | Сообщение # 5
 
Сообщений: 1753
Награды: 16
Репутация: 892
Статус: Offline
Quote (Левша)
Затем вешаете данный скрипт на каждый GUI обьект интерфейса.

Можно-ли переделать скрипт так, чтобы он сам находил объекты по тегу?
Чтобы не вешать скрипт 100500раз на каждый объект, а просто прописывать теги в свойствах объекта.


Поиск | Правила | Новые сообщения
 
Сообщение
Quote (Левша)
Затем вешаете данный скрипт на каждый GUI обьект интерфейса.

Можно-ли переделать скрипт так, чтобы он сам находил объекты по тегу?
Чтобы не вешать скрипт 100500раз на каждый объект, а просто прописывать теги в свойствах объекта.

Автор - Dekterev
Дата добавления - 26 Июл 2012 в 13:45
ЛевшаДата: Чт, 26 Июл 2012, 18:12 | Сообщение # 6
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Quote (Dekterev)
чтобы он сам находил объекты по тегу?

Найти то не проблема, только сомневаюсь что перебор и пересчет всего гуи не понизит производительность.
Хотя в принципе это происходит только 1 раз, может так и будет лучше. Только уже сами пишите. smile База есть, но система получиться оч. сложная...


X.cor.R (Prologue)
 
Сообщение
Quote (Dekterev)
чтобы он сам находил объекты по тегу?

Найти то не проблема, только сомневаюсь что перебор и пересчет всего гуи не понизит производительность.
Хотя в принципе это происходит только 1 раз, может так и будет лучше. Только уже сами пишите. smile База есть, но система получиться оч. сложная...

Автор - Левша
Дата добавления - 26 Июл 2012 в 18:12
ЛевшаДата: Ср, 15 Авг 2012, 15:04 | Сообщение # 7
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Обновил шапку, теперь методы работают в реал-тайм и сохраняет формы обьектов при необходимости.
Добавил метод для GUIText, с подстраиванием размеров текста.


X.cor.R (Prologue)
 
СообщениеОбновил шапку, теперь методы работают в реал-тайм и сохраняет формы обьектов при необходимости.
Добавил метод для GUIText, с подстраиванием размеров текста.

Автор - Левша
Дата добавления - 15 Авг 2012 в 15:04
Tenb2012Дата: Вт, 24 Сен 2013, 19:13 | Сообщение # 8
Нет аватара
 
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
)) Первый скрипт выдает вот такую ошибку Assets/GUITextute.js(2,17): BCE0018: The name 'PlrInterface' does not denote a valid type ('not found').
Второй нормально, не понял по поводу тега, то есть я GUIText присваиваю любой тег и все?
 
Сообщение)) Первый скрипт выдает вот такую ошибку Assets/GUITextute.js(2,17): BCE0018: The name 'PlrInterface' does not denote a valid type ('not found').
Второй нормально, не понял по поводу тега, то есть я GUIText присваиваю любой тег и все?

Автор - Tenb2012
Дата добавления - 24 Сен 2013 в 19:13
ЛевшаДата: Вт, 24 Сен 2013, 22:24 | Сообщение # 9
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
Цитата (Tenb2012)
Первый скрипт выдает вот такую ошибку

Удали эту строку вообще из скрипта (она из моего проекта осталась).
var plrIntScr : PlrInterface;

Цитата (Tenb2012)
не понял по поводу тега

Тег присваивается обьектам гуи которые должны сохранять соотношения сторон (квадраты и круги).


X.cor.R (Prologue)
 
Сообщение
Цитата (Tenb2012)
Первый скрипт выдает вот такую ошибку

Удали эту строку вообще из скрипта (она из моего проекта осталась).
var plrIntScr : PlrInterface;

Цитата (Tenb2012)
не понял по поводу тега

Тег присваивается обьектам гуи которые должны сохранять соотношения сторон (квадраты и круги).

Автор - Левша
Дата добавления - 24 Сен 2013 в 22:24
игнатДата: Вс, 29 Дек 2013, 13:13 | Сообщение # 10
 
Сообщений: 706
Награды: 0
Репутация: 107
Статус: Offline
Дополню-ка я:
Создать скрипт C#, назвать его GUI2D.
Назначить текстуру splashLogo
Выставить Rect myRect

Внимние:В
Доступно только для пользователей
выставить вместо 500 Ваше разрешение экрана PLAY, в котором Вы работаете.


Сам скрипт:
Доступно только для пользователей

Просьба поискать недочёты.



Правила форума · участник GCC
 
СообщениеДополню-ка я:
Создать скрипт C#, назвать его GUI2D.
Назначить текстуру splashLogo
Выставить Rect myRect

Внимние:В
Доступно только для пользователей
выставить вместо 500 Ваше разрешение экрана PLAY, в котором Вы работаете.


Сам скрипт:
Доступно только для пользователей

Просьба поискать недочёты.

Автор - игнат
Дата добавления - 29 Дек 2013 в 13:13
AIDENДата: Пн, 04 Авг 2014, 14:28 | Сообщение # 11
Нет аватара
 
Сообщений: 59
Награды: 0
Репутация: 56
Статус: Offline
Можно как-то сделать такое только для GUI.Button ?

Моя игра - Collect Fruit

Сообщение отредактировал AIDEN - Пн, 04 Авг 2014, 14:34
 
СообщениеМожно как-то сделать такое только для GUI.Button ?

Автор - AIDEN
Дата добавления - 04 Авг 2014 в 14:28
Форум Игроделов » UNITY3D » СКРИПТИНГ » Универсальный контроллер разм. и позиц. GUI интерфейса. ([JS] не реалтайм!)
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024