Я занимаюсь проектированием средства просмотра 3D-панорам, используя papervision3d для библиотеки 3D. Я полностью кодирую ActionScript3 с помощью FlashDevelop. Сейчас я нахожусь в той точке, где мне нужно добавить простые компоненты (кнопку, раскрывающееся меню, панель инструментов и т. Д.). Я знаю, что с помощью mxml легко создавать пользовательские интерфейсы. Есть ли у кого-нибудь опыт создания пользовательских интерфейсов в mxml, а затем их использования в объекте papervision3d? По сути, я хочу поместить кнопку, указанную в mxml-файле, в середине моей панорамы, и я не знаю, как это сделать. Спасибо за любую помощь.
Использование гибких компонентов в приложении papervision3d
comment
на этом сайте есть действительно хороший просмотрщик: pan2view.com
- person djangofan   schedule 17.07.2009
Ответы (1)
Я делаю нечто очень похожее: я занимаюсь разработкой средства просмотра трехмерных панорам с помощью Papervision3D, с добавлением элементов управления Flex в качестве интерфейса. (Вы можете проверить текущий статус средства просмотра на http://www.panocast.com)
То, что я сделал здесь, было прямо противоположным тому, что вы просили: я обернул представление Papervision3D внутри UIComponent и поместил его в файл MXML. Поместив его в Canvas
, я смог расположить элементы управления поверх него. Вот как:
<mx:Canvas width="100%" height="100%">
<!-- the main panoarama player object -->
<pp:PanoViewer id="pv" width="100%" height="100%" />
<!-- horizontal control bar -->
<mx:HBox id="controls" bottom="10" left="10" right="10">
<!-- rewind & play/pause buttons -->
<mx:ButtonBar id="playbackButtons" buttonWidth="26">
<mx:dataProvider>
<mx:Array>
<mx:Object icon="@Embed(source='../../../../assets/rewind.png')" toolTip="Rewind video" name="rewind" />
<mx:Object icon="{playIcon}" toolTip="Play video (space)" name="play" />
</mx:Array>
</mx:dataProvider>
</mx:ButtonBar>
...
и Т. Д.
person
David Hanak
schedule
04.02.2009
Очень приятный телезритель! Так вы расширили UIComponent для объекта PanoViewer? Если это так, вы добавили свои mouseListeners (для панорамирования и наклона панорамного видео) на сцену или на что-то еще?
- person Adam Richardson; 04.02.2009
@ Адам: да, я расширил UIComponent. Я добавил большинство своих слушателей (включая слушателей мыши) к самому компоненту. Для обработки событий клавиатуры я заставил класс реализовать интерфейс IFocusManagerComponent и заполнил функции keyDownHandler () и keyUpHandler ().
- person David Hanak; 04.02.2009