5 PV3D窗口如何被加载进舞台

在《4 如何显示PV3D中的3D物体》的代码1中,我们看到了如下运行效果。

5 PV3D窗口如何被加载进舞台_第1张图片

注意代码清单1中的语句:

[SWF(width="640",height="480",backgroundColor="#FFFFFF")]

这条语句的意思是设置SWF(舞台大小)的大小和背景颜色。我们把这句去掉后运行,将会看到如下界面。


可以看到小球在舞台的中心偏上,为什么不是在舞台中央呢?我们已经知道Flash和PV3D的坐标如下图所示。

5 PV3D窗口如何被加载进舞台_第2张图片

其中Flash的坐标在舞台左上角,PV3D坐标在窗口中心(注意是窗口的中心)。同时注意Viewport3D类的构造方法,如下图所示。

5 PV3D窗口如何被加载进舞台_第3张图片

从中得知,窗口可以自己设置大小,默认时为640*480。

选择FlashDevelop中的【Project】→【Properties】,将会看到如下界面。

5 PV3D窗口如何被加载进舞台_第4张图片

从上图可以知道,输出的swf大小为800*600(即舞台大小)。

当我们打开swf时,舞台为800*600,当执行到:

//由于PV3D中的物体都被映射到窗口,因此只需要将窗口加载进文档类即可

addChild(viewport);

的时候,其加载窗口的过程如下。

 

从上图可以看到窗口被加载进舞台后,由于舞台的大小和窗口的大小不一致,因此会看到小球在舞台中心偏上的效果。

要解决这种情况,可以设置在文档类前设置SWF,或打开【Project】→【Properties】设置swf大小。

对于x、y轴我们是很容易理解的,现在来看看PV3D中的z轴。修改代码清单1,修改球体z轴属性:

sphere.z = 1000;

sphere.z = -100;

运行将会看到如下效果。

5 PV3D窗口如何被加载进舞台_第5张图片

可以看到,z轴指向窗口里面。当z增大时,球体远离摄像机,因此会变小。同理,z轴减小时,球体变大。

你可能感兴趣的:(5 PV3D窗口如何被加载进舞台)