[b]【[url]http://www.newflash3d.com[/url]---flash3D先锋队:北京贝武易科技公司】[/b]
有疑问请联系我QQ:363596350
在Papervision3D场景中用鼠标拖动球体,实现交互操作。
[flash=640,480]/upload/attachment/132153/88913501-18d6-30c9-a70b-260ab7b0bff8.jpg[/flash]
对于拖动的研究这里有一个所有三维操作都用到的概念:二维的鼠标的空间位置与三维的空间的位置之间的转换,下面我们来分析一下。
我们在二维中鼠标的点对应三维空间是哪个点呢?
这其中有一个转换机制。
camera.unproject需要两个参数,也就是我们的是平面的长和宽。
它的返回值是一个Number3D。
帮助里是这么描述Number3D的:
The Number3D class represents a value in a three-dimensional coordinate system.
翻译:Number3D是描述三维坐标里的一个值。
Properties x, y and z represent the horizontal, vertical and z the depth axes respectively.
翻译:属性X , Y和Z分别代表横向,纵向和Z轴的深度。
这里我们需要注意Number3D与Vertex3D的区别,他们的参数都是一样,但是Vertex3D的结果是三维空间的点。
它的帮助描述是:The Vertex3D constructor lets you create 3D vertices.
(Vertex3D构建三维的点)
Number3D是向量。
有疑问请联系我QQ:363596350
在Papervision3D场景中用鼠标拖动球体,实现交互操作。
[flash=640,480]/upload/attachment/132153/88913501-18d6-30c9-a70b-260ab7b0bff8.jpg[/flash]
对于拖动的研究这里有一个所有三维操作都用到的概念:二维的鼠标的空间位置与三维的空间的位置之间的转换,下面我们来分析一下。
我们在二维中鼠标的点对应三维空间是哪个点呢?
这其中有一个转换机制。
var ray:Number3D = camera.unproject(viewport.containerSprite.mouseX, viewport.containerSprite.mouseY);
camera.unproject需要两个参数,也就是我们的是平面的长和宽。
public function unproject(mX:Number, mY:Number):Number3D
它的返回值是一个Number3D。
帮助里是这么描述Number3D的:
The Number3D class represents a value in a three-dimensional coordinate system.
翻译:Number3D是描述三维坐标里的一个值。
Properties x, y and z represent the horizontal, vertical and z the depth axes respectively.
翻译:属性X , Y和Z分别代表横向,纵向和Z轴的深度。
这里我们需要注意Number3D与Vertex3D的区别,他们的参数都是一样,但是Vertex3D的结果是三维空间的点。
它的帮助描述是:The Vertex3D constructor lets you create 3D vertices.
(Vertex3D构建三维的点)
Number3D是向量。