Я занимаюсь разработкой с использованием Eclipse Indigo, Flex 4.5.1, Papervision 3D 2.0.883.По сути, я пытаюсь скомпилировать этот пример papervision3D / Flex , чтобы я мог использовать его для просмотра фильмов на моем собственном сайте.Мне пришлось внести ряд изменений, чтобы заставить его работать с Papervision 3D 2.0, так что это может быть частью проблемы.Мое приложение выдает следующую жалобу, когда я запускаю его во Flash Debugger:
TypeError: Error #1034: Type Coercion failed: cannot convert org.papervision3d.view::Viewport3D@2bf6df49 to mx.core.IUIComponent.
at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChild()
at mx.core::Container/addChildAt()
at mx.core::Container/addChild()
at SphericVR/init()
at SphericVR/___SphericVR_Canvas1_creationComplete()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()
at mx.core::UIComponent/set initialized()
at mx.managers::LayoutManager/doPhasedInstantiation()
at mx.managers::LayoutManager/doPhasedInstantiationCallback()
Два бита кода, за которые я считаю ответственным:
public function init( event:Event):void
{
container = new UIComponent();
container.x = (this.width)/2;
container.y = (this.height)/2;
canvasPv3D.addChild( container );
//a bunch of mouse-movement stuff, and adding a video display
init3D();
container.addChild( viewport );
//some event listeners
}
и другиеуказанная выше функция:
private function init3D():void
{
viewport = new Viewport3D(canvasPv3D.width, canvasPv3D.height, true, true);
addChild(viewport);
scene = new Scene3D();
//adding camera, renderer, creating a bitmap material, mapping material to a sphere
scene.addChild( sphere );
canvasPv3D.addEventListener(Event.ENTER_FRAME, loop3D );
}