扩展节点之Layer2D节点的使

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

Layer2D节点的使用

首先,输入下列代码,表示定义该节点:

EXTERNPROTO Layer2D[

eventIn MFNode addChildren

eventIn MFNode removeChildren

exposedField MFNode children

exposedField SFVec2f translation

exposedField SFVec2f size

exposedField SFNode background

exposedField SFNode viewport

]

["urn:inet:blaxxun.com:node:Layer2D",

"blaxxunCC3D_nodes.wrl#Layer2D",

"nodes.wrl#Layer2D"]

注意:这其中引用了一个blaxxunCC3D_nodes.wrl文件,需要从网上获取。

然后就可以开始使用该节点了。如:

DEF logo Layer2D {

background Background {

skyColor 0 0 0

}

size 0.119 0.12

translation 0.1 0.86

children [

#该处放置你要放的造型

]

}

size 取值范围[0~1 0~1],默认为(1 1),即铺满整个窗口(但请注意:窗口的比例为4:3)。

因此在使用时一般要将其进行缩小变换,但因为一般窗口比例为4:3,因此进行比例计算的时候,需要加入这个比值。当 然如果你只是要大致的确定比例,就不用这么麻烦了。我之所以考虑到这点,是因为我在该处放了一幅图的时候,要确定容纳 这幅图的区域的大小,才有了这个问题。

我总结出了这个公式,希望对由此需要的朋友有点帮助。

x:y=3x0:4y0

其中,x和y表示size的值(x y),x0和y0表示原造型的x y值,比如Box即表示其(x y z)中的(x y)。

最后还要修正下3:4这个比例,因为浏览器窗口上还有菜单栏、工具栏、地址栏等会占掉很多空间,因此,我将这个比例修正成2.5:4,那最后的公式即为:

x:y=2.5x0:4y0

当然,你可以根据实际情况调整这个比例。

好了,那怎么样用这个公式呢?

其实很简单,你先确定x和y中的一个值(大概差不多就行了),再利用该公式计算另一个值即可。

translation 表示该Layer2D区域左下角的坐标值,取值范围[0~1 0~1],默认为(0 0),在窗口左下角,最大值为(1 1),此时,已不可见,因为该值是区域左下角的坐标值。

background 后面可以跟很多节点,一般可用Background设置其背景色。

children 中放置造型

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航