firefox下提示TypeError: Error #1034: 强制转换类型失败:无法将 org.papervision3d.object!该如何解决

firefox下提示TypeError: Error #1034: 强制转换类型失败:无法将 org.papervision3d.object!!!!!!
问题:在ie下一切正常,但是在firefox和其它浏览器下会出现下面这提示

TypeError: Error #1034: 强制转换类型失败:无法将 org.papervision3d.objects.primitives::Cube@bfc6859 转换为 org.papervision3d.objects.DisplayObject3D。

请高手帮忙看看,到底哪出问题了, 我分析了半天没明白。
下面是代码

package 
{
  import __AS3__.vec.*;
  import _home.*;
  import flash.display.*;
  import flash.events.*;
  import flash.system.*;
  import gs.*;
  import gs.easing.*;
  import org.papervision3d.lights.*;
  import org.papervision3d.materials.*;
  import org.papervision3d.materials.shadematerials.*;
  import org.papervision3d.materials.utils.*;
  import org.papervision3d.objects.*;
  import org.papervision3d.objects.primitives.*;
  import org.papervision3d.view.*;

  public class _home extends BasicView
  {
  private var cameraYaw:Number = 0;
  private var xCube:Cube;
  private var light:PointLight3D;
  public var homeEnter:MovieClip;
  private var cameraPitch:Number = 80;
  private var list:Vector.<DisplayObject3D>;
  public static const OBJ_MAX:int = 80;

  public function _home() : void
  {
  this.light = new PointLight3D();
  this.list = new Vector.<DisplayObject3D>(OBJ_MAX, true);
  this.init();
  return;
  }// end function

  override protected function onRenderTick(event:Event = null) : void
  {
  this.homeEnter.x = viewport.viewportWidth / 2 - this.homeEnter.width / 2;
  this.homeEnter.y = viewport.viewportHeight / 2 + 100;
  this.cameraYaw = this.cameraYaw + 0.8;
  if (this.cameraYaw > 360)
  {
  this.cameraYaw = 0;
  }
  if (this.cameraPitch == 180)
  {
  this.cameraPitch = this.cameraPitch - 0.5;
  }
  else
  {
  this.cameraPitch = this.cameraPitch + 0.5;
  }
  camera.orbit(this.cameraPitch, this.cameraYaw);
  renderer.renderScene(scene, camera, viewport);
  return;
  }// end function

  public function delAllEvent()
  {
  stopRendering();
  trace("Delete _home!");
  scene.removeChild(this.xCube);
  this.xCube = null;
  var _loc_1:int = 0;
  while (_loc_1 < OBJ_MAX)
  {
   
  scene.removeChild(this.list[_loc_1]);
  _loc_1++;
  }
  this.list = null;
  this.light = null;
  System.gc();
  return;
  }// end function

  private function hideBox()
  {
  var _loc_2:DisplayObject3D = null;
  TweenLite.to(this.xCube, 2.8, {rotationY:1500, rotationX:0});
  var _loc_1:int = 0;
  while (_loc_1 < OBJ_MAX)
  {
   
  _loc_2 = this.list[_loc_1];
  TweenLite.to(_loc_2, 0.8, {x:this.xCube.x, y:this.xCube.y, z:this.xCube.z, rotationZ:0, rotationY:0, rotationX:0, delay:_loc_1 * 0.02});