![]() |
Вопрос про первый план видимости
Всем доброго времени суток, у меня есть Stage3D с контекстом, в которых отображается 3д графика. (в некоторых терминах могу ошибиться). И еще есть отдельно Bitmap добавленный AddChildом, так вот этот Bitmap всегда на первом плане, как его убрать на второй план чтобы он не загораживал окно с 3д графикой ?
|
2д графика всегда отображается выше Stage3D. Если вам надо скрыть 2д элемент, воспользуйтесь свойством visible этого элемента или просто уберите его из дисплей листа.
|
перенести его рендеринг на Stage3D
|
Дисплей лист находится выше stage3d.
Единственный способ - загрузить битмап в текстуру и отрисовывать на stage3d к-к-к-комбо! |
Это плохо, оба предложенных способа не подходят.. Потому что суть Bitmap в том чтобы забить пустоты между 3Д графикой и остальным пустым окном, 3д графика имеет фиксированный размер чтобы не плыло качество, а если разрешение монитора больше, то будут пустоты, которые и планировалось забить Bitmap, поэтому рендерить Bitmap в 3д окне - не подойдет, также как и по очереди их отображать не одновременно..
|
Ну тогда придётся это решать в рамках stage3D, опустить то Bitamp ниже 3д графики невозможно.
|
Цитата:
|
можете одновременно использовать starling для 2d и away для 3d
|
Просто загрузите битмапу в stage3D и расположите там как вам нужно.
Какой вы используете фреймворк? Не голое же у вас stage3D? |
Цитата:
можете подробнее что это такое ? Цитата:
|
Сделайте чтоль пример какой простенький, для демонстраций проблемы. Может быть, так вам быстрее помогут.
|
Вложений: 1
Цитата:
Вот картинка. Проблема в пустоте, которая выглядит некрасиво. Пришла в голову идея, поставить фон-картинку, но она закрывает рабочее окно. |
Всё очень просто:
Бэграунд растяните или зарепитите, основной контент отпозицианируйте по центру. Нужные разделы справки: http://help.adobe.com/ru_RU/FlashPla...html#scaleMode http://help.adobe.com/ru_RU/FlashPla...age.html#align http://help.adobe.com/ru_RU/FlashPla...tageAlign.html http://help.adobe.com/ru_RU/FlashPla...ScaleMode.html пс. Всё это нужно делать в рамках stage3D. |
Цитата:
Цитата:
|
Растягиваете stage3D на весь экран, при ресайзе (изменений размеров), переопределяете размеры stage3D заново, под новые размеры. Он не должен быть в левом углу, он должен заполнять всё поле видимости, которое в данный момент отображается.
Фон должен быть сделан внутри stage3D, фон и всё остальное позицианируется по событию ресайза. |
Опять же проблема в том что его нельзя масштабировать, потому что идет потеря качества. Поэтому фон нужно как то запихать вокруг, может не битмапом, можно вторую фоновую stage сделать ?
|
Не нужно ничего масштабировать, нужно изменять размеры вью порта по событию и позицианировать контент. Выше описанный метод является единственно верным. Перечитывайте его до тех пор, пока не наступит озарение.
|
я не упоминал полноэкранный режим ? Речь именно о нем, в оконном то и пустоты оприори нету..
напомню еще раз суть проблемы Цитата:
|
Не имеет значения, переходите вы в полно экранный режим или просто растягиваете окно мышкой. При любом ресайзе, нужно выполнить ряд простых шагов:
На каком этапе у вас возникают сомнения? |
|
Цитата:
|
Я плохие советы давать не буду. Думаю, что обрезать контент по нужной рамке будет очень просто. На ум приходит предварительный рендер в отдельную текстуру фиксированного размера, но наверное есть даже способ и еще проще. Просто надо погуглить по stage3d mask. Вообще, если использовать какой нибудь фреймворк, например старлинг, то будет совсем лафа. Там все эти элементарные вещи уже реализованы.
|
ок, спасибо
|
| Часовой пояс GMT +4, время: 15:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.