Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.02.2009, 03:13
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 1  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
По умолчанию загрузка 3d панорам

не знал куда отнести вопрос, так как пишу на flex видимо сюда..
ситуация следующая:

использую RemoteObject, то есть:

Код AS3:
var ro:RemoteObject = new RemoteObject("servlerDataLink");
ro.showBusyCursor = true;
ro.addEventListener("result", roResultEvent); - тут мы при успехе кладем ответ в ByteArray..
		private function panoResultEvent(event:ResultEvent):void {
			media = ByteArray(event.result);
		}

Код AS3:
ro.getPanoramaByID(1);
- это собсно удаленный метод сервера, который возвращает в данном методе массив байтов и он сериализуется в ByteArray. в нем собсно панорама находится.
далее пихаем это все в лоадер
..
Код AS3:
var loader:Loader = new Loader();
Код AS3:
loader.loadBytes(media);
- где media как раз сериализованный ByteArray
потом пытаюсь привести это к MovieClip
Код AS3:
var d:MovieClip = MovieClip(loader.content);
но тут и ошибка типы не совместимы
панорама имеет тип AVM1Movie и не приводится к мувие(эта панорама собрана под flash8 api)
если панорамы собраны под flash 9 - 10 api то имеют вообще странный тип - PanoPlayer.

на этом сайте нашел пример как загружать панорамы
http://gardengnomesoftware.com/wiki/Pano2VR_-_Flash_API
для ас3, и не понимаю для чего там задействован вопще
MovieClip
то есть алгоритмически получается
Код AS3:
var loader:Loader = new Loader();
var vr:MovieClip;
...
 vr = MovieClip(loader.content);
...
addChild(loader);
а логично было бы увидеть в конце
addChild(vr);

спасибо!


Последний раз редактировалось jaa_breath; 19.02.2009 в 11:18.
Старый 19.02.2009, 03:21
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
С чего вы взяли, что Loader.content должен быть типа MovieClip? Вам же плеер одножначно говорит, что вы получаете =/
__________________
Hell is the possibility of sanity

Старый 19.02.2009, 03:28
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 3  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
Loader.content по апи возвращает DisplayObject, а он должен приводиться к MovieClip..

Старый 19.02.2009, 03:50
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
С какого перепуга это он должен?
__________________
Hell is the possibility of sanity

Старый 19.02.2009, 03:58
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 5  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
..
проблема в том что я не могу отобразить на экране полученную панораму, если панорамы собраны под 8 апи, то есть возможность ее показать через SWFLoader(довольно криво), но те которые собраны под 9 и 10 вобще никак не видны. видел пример на флеше через MovieClip и решил попробовать


Последний раз редактировалось jaa_breath; 19.02.2009 в 04:03.
Старый 19.02.2009, 04:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
<=8 - AVM1Movie
9>= Sprite
скорее всего
Я даж не знаю... помоему сообщение об ошибке абсолютно однозначно говорит вам в чем проблема =/ Даж не знаю, чего и добавить...
Справка по Sprite: http://help.adobe.com/ru_RU/AS3LCR/F...ay/Sprite.html
__________________
Hell is the possibility of sanity

Старый 19.02.2009, 08:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
jaa_breath, отредактируйте свой пост и оформите код тегами [as3][/as3].

Старый 19.02.2009, 11:26
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 8  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
проблема не в ошибке, сначала я вообще не приводил никого и никуда, а просто делал например
..
Код AS3:
loader.loadBytes(media);
canvas.addChild(loader.content);
и ничего, не отображаются

Старый 19.02.2009, 14:51
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Потому что к Canvas нужно добавлять что-то, что наследуется от UIComponent - очевидно, что панорама от него не наследуется
Цитата:
Сообщение от Manual
addChild() method
Код:
override public function addChild(child:DisplayObject):DisplayObject
Adds a child DisplayObject to this Container. The child is added after other existing children, so that the first child added has index 0, the next has index 1, an so on.

Note: While the child argument to the method is specified as of type DisplayObject, the argument must implement the IUIComponent interface to be added as a child of a container. All Flex components implement this interface.

Children are layered from back to front. In other words, if children overlap, the one with index 0 is farthest to the back, and the one with index numChildren - 1 is frontmost. This means the newly added children are layered in front of existing children.

Parameters

Код:
child:DisplayObject
— The DisplayObject to add as a child of this Container. It must implement the IUIComponent interface.
Returns
DisplayObject — The added child as an object of type DisplayObject. You typically cast the return value to UIComponent, or to the type of the added component.
Мануал - ваш друг
__________________
Hell is the possibility of sanity

Старый 19.02.2009, 15:01
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 10  
Ответить с цитированием
jaa_breath
[+1 30.06.09]

Регистрация: Feb 2009
Сообщений: 27
так же были попытки делать так
..
Код AS3:
loader.loadBytes(media);
var u:UIComponent = new UIComponent();
u.addChild(Sprite(loader.content)); 
в случае 8 апи u.addChild(AVM1Movie(loader.content));
canvas.addChild(u);
при =8 панорама видна, но без соблюдения размеров внешнего контейнера в котором она, а при >9 грузиться но не отображается..

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:44.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.