快速导航:   教程资源  | 经典范例  | 友情链接  | 联系我们  | 官方微博
登陆 | 注册

 flash 3d 研究所
flash3d 研究所 pv3d 教程 研究所小贴士: 要光影吗?高级贴图吗?要抗锯齿吗?就得付出效率这个代价吧~










最近更新:
● wan925446570阁下在讨论区里 发表新主题“怎么配置away3d运行环境啊???...”(20:38:35)
● yanfaqiang阁下在讨论区里 回复“《超简易papervision3D基础 ...”(18:08:41)
● cripel阁下在讨论区里 回复“...”(14:38:04)
浏览主题:将模型嵌入swf问题

将模型嵌入swf问题
fc_candle (2011-05-19 17:34:45)

将模型用xml格式嵌入swf后,就无法设置这个模型的viewportlayer的属性,如alpha或者添加滤镜等等,请问一般我们是怎样嵌入模型的呢?
我的代码如下:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
        package  externalModel
{
  import  flash.events.Event;
  import  flash.filters.GlowFilter;
  
  import  org.papervision3d.events.FileLoadEvent;
  import  org.papervision3d.materials.ColorMaterial;
  import  org.papervision3d.materials.WireframeMaterial;
  import  org.papervision3d.materials.utils.MaterialsList;
  import  org.papervision3d.objects.DisplayObject3D;
  import  org.papervision3d.objects.parsers.DAE;
  import  org.papervision3d.view.BasicView;
  
  [SWF(width="800",  height="600")]
  public  class  EmbedModeExample  extends  BasicView
  {
    
    private  var  embedModel  :  DAE;
    private  var  loadModel  :  DAE;
    public  function  EmbedModeExample(viewportWidth:Number=640,  viewportHeight:Number=480,  scaleToStage:Boolean=true,  interactive:Boolean=false,  cameraType:String="Target")
    {
      super(viewportWidth,  viewportHeight,  scaleToStage,  interactive,  cameraType);
      
      init();
      startRendering();
    }
    
    private  function  init()  :  void
    {
      var  xml  :  XML  =  XML(new  EmbedClass.MeteoriteData);
      
      var  materialsList  :  MaterialsList  =  new  MaterialsList();
      materialsList.addMaterial(new  ColorMaterial(0x00FF00),  "MeteoriteMaterial__0");
      
      
      
      embedModel  =  new  DAE();
      embedModel.load(xml,  materialsList);
      embedModel.localRotationY  =  30;
      scene.addChild(embedModel);
 
//这里添加滤镜没用
      viewport.getChildLayer(embedModel).filters  =  [new  GlowFilter(0xFF0000)];
      
      loadModel  =  new  DAE();
      loadModel.addEventListener(FileLoadEvent.LOAD_COMPLETE,  loadComplete);
      loadModel.load("models/meteorite.DAE",  materialsList);
    }
    
    
    protected  function  loadComplete(e:FileLoadEvent):void
    {
      scene.addChild(loadModel);
      loadModel.x  =  300;
      
//这里添加滤镜有用
      viewport.getChildLayer(loadModel).filters  =  [new  GlowFilter(0xFF0000)];
    }
    
    override  protected  function  onRenderTick(event:Event=null):void
    {
      
      super.onRenderTick();
    }
    
  }
}

        
 
 
 
 
 
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
        package  externalModel
{
  public  class  EmbedClass
  {
    [Embed(source="../../bin-debug/models/meteorite.DAE",  mimeType="application/octet-stream")]
    public  static  const  MeteoriteData  :  Class;
  }
}        








flash 3d 研究所 fc_candle
(2011-05-20 11:21:55)
自己解决了,,。。


flash 3d 研究所 fur3
(2011-05-23 12:18:38)
没太理解您的意思,能分享一下是如何解决的吗?


flash 3d 研究所 fc_candle
(2011-05-26 13:39:11)
必须侦听到 FileLoadEvent.LOAD_COMPLETE 这个事件才能加滤镜,要不加不上去


flash 3d 研究所 fur3
(2011-05-30 13:27:26)
哦呀,原来如此。


评论人:
邮   箱: (填入邮箱,博客地址均可)

内   容: (广告和垃圾内容可能会被删除,望理解)
链接地址

验证码:(为防止机器人骚扰,请麻烦输入验证码^_^)
  

(目前需登陆方可发表)


不想添加了