Quest3D - Русскоязычное сообщество

Quest3D => Логика => Тема начата: Jon от 09 Декабря 2012, 20:15:54



Название: Разрешение в окне анимации
Отправлено: Jon от 09 Декабря 2012, 20:15:54
В проекте разрешение 1366х768. В квесте, в окне анимации делаю меню: текст, за текстом плоскости которые проверяются на DetectMouseCollision. В квесте все работает правильно, а в ЕХЕ окно растягивается и текст поднимается выше, а кнопки(плоскости) вродебы остаются где надо - вобщем кнопки не соответствуют тексту!  ???

Что за дела? Что происходит и как с этим боротся?


Название: Re: Разрешение в окне анимации
Отправлено: →|๖ۣۜDen|← от 09 Декабря 2012, 22:00:01
Будет лучше если покажешь исходник.


Название: Re: Разрешение в окне анимации
Отправлено: Jon от 11 Декабря 2012, 17:52:04
 :)


Название: Re: Разрешение в окне анимации
Отправлено: →|๖ۣۜDen|← от 11 Декабря 2012, 19:00:00
Что за дела? Что происходит и как с этим боротся?
Мягко говоря, структура GUI неправильно построена.
Почему проблемы? Плейны, которые используются в качестве детекции пересечения с мышью, используют экранную систему координат, это "фиксированная система", где значение xy в точке 0,0 переместит объект в центр камеры, при любом разрешении экрана. Фиксисрованная она потому, что все значения умещаются в промежутке [-1,1].
TextOut же использует другую систему координат, где значения xy, равные 0,0 отобразят текст в левом верхнем углу. Эта начальная точка отчёта. Конечная же определяется шириной и высотой экрана запущенного приложения. А это значит, что вымерив и задав, к примеру, центральное положение текста в одном разрешении экрана, не будет означать, что текст будут в том же положении при другом разрешении.
Само использование TextOut нежелательно, потому как чаще всего этот вид отображения текста используется для дебага.
Для создания меню советую копать в сторону CopyImage.
Так же можно посмотреть примеры на офе, почитать руководство тоже не помешает. ;)


Название: Re: Разрешение в окне анимации
Отправлено: Jon от 12 Декабря 2012, 12:50:31
Каждый раз при чтении учебника, - пропускал GUI, за ненадобностью! Вот захотелось сделать примитивную менюшку - воспользовался теми знаниями что имел!  :)

Den, Спасибо за открытый ответ!
Буду грызть гранит...