Показать сообщение отдельно
Старый 19.02.2009, 03:13
jaa_breath вне форума Посмотреть профиль Отправить личное сообщение для jaa_breath Найти все сообщения от jaa_breath
  № 1  
Ответить с цитированием
jaa_breath

Регистрация: 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.