flash 3d flash3d 研究所 pv3d 共享资源  | 经典范例  | 视频教程  | 友情链接  | 联系我们
登陆 | 注册  flash 3d 研究所
讨论区





最近更新:
● payday loan阁下在教程区里 回复“《pv3d, sandy, away3d...”(05:56:23)
● bad credit payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:13)
● payday loan阁下在教程区里 回复“《超简易papervision3D基础 ...”(05:56:12)
浏览主题:请问如何CHEAR() PV3D里Z SORT?

请问如何CHEAR() PV3D里Z SORT?
regijin (2009-06-11 00:15:35)

如何能把深度清除掉..让物体始终保持在最外面.....
比如说做天空盒这样....今天稍微看了下你们包里的类库
在BASIC渲染引擎里发现这个
* The type of z-sorting to be used with the rendered data based on
            * their respective screen depth. Defaults to BasicRenderSorter.
            *
            * @see org.papervision3d.core.render.sort.BasicRenderSorter
            */
           public var sorter:IRenderSorter;
           
           public var clipping:DefaultClipping;
于是乎去找BasicRenderSorter这个类..然后发现这个类..是这样的
package org.papervision3d.core.render.sort
{
     
     /**
      * @author Ralph Hauwert
      */
     public class BasicRenderSorter implements IRenderSorter
     {
           
           //Sorts the renderlist by screenDepth.
           public function sort(array:Array):void
           {
                 array.sortOn("screenZ", Array.NUMERIC);
           }
           
     }
}
可惜没有SORTDOWN()方法...
然后再看回BASIC渲染引擎的类里..搜索了SORT看下....谁知道发现这样的结果
     //Sort entire list.
     sorter.sort(renderList);
这段东西写在DORENDER()方法里面的....难道真的要把这段代码改掉才可以实现那功能吗?还是在SORTER里面写一个SORTDOWN方法比较好?

PS:本人初涉AS程序和PV3D......如有不对的地方...请见晾
           


flash 3d 研究所 regijin
(2009-06-11 00:21:18)
对了,如果可以的话..能把array类的方法和属性注给我吗?
因为我刚开始玩AS...所以对它的那些结构不太熟悉...我还想要它的sortOn()方法

flash 3d 研究所 regijin
(2009-06-11 00:34:33)
突然又发现了一个NULLSORTER类
package org.papervision3d.core.render.sort
{
     
     public class NullSorter implements IRenderSorter
     {
           
           /**
            * NullSorter();
            *
            * Doesn't do anything to the renderlist, during the sort phase.
            */
           public function NullSorter()
           {
           }
           
           public function sort(array:Array):void
           {
                 //Do absolutely nothing
           }
           
     }
}
这个类好象可以用...O O不过也许要改下BASIC渲染引擎类了...在INIT()里用个策略可以把它搞定么?...

flash 3d 研究所 DDM君
(2009-06-11 10:30:01)
使用layer排列,没有被加入layer的物体都会被排在最下面。
layer的使用可参考这篇教程:
http://www.flab3d.com/tutorials_07_viewportlayer.php


flash 3d 研究所 DDM君
(2009-06-11 10:32:23)
Array类的用法可直接在flash帮助里查到。
不一定要用basic渲染,根据我们的第一篇教程的规则写就可以了,会让您更加理解最基本的结构。继续加油哦^_^~

flash 3d 研究所 regijin
(2009-06-11 12:01:33)
好象源代码下载不了啊..现在...

flash 3d 研究所 DDM君
(2009-06-12 09:24:00)
目前所有资源均可正常下载了,给您带来麻烦非常抱歉。


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

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

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

(目前需登陆方可发表)


不想添加了