3、三维坐标转换成二维坐标 如图4,已知一个点(x,y,z),利用三角形相似的原理,可以得出下列结论: d/(d+z)=y1/y,推出:y1=d*y/(d+z),可在二维平面上来表现空间上的点的位置。进一步把它简化。提出因子d/(d+z),用ratio(比率)表示,这个公式就变为 ratio=d/(d+z); y1=ratio*y;同理可推出 x1=ratio*x; 二、控制物体的属性(大小,层次,透明度等) 1、控制mc的大小 在三维坐标中,当z值增大,也就是远离屏幕时,物体应越小,反之越大。 我们可以用上满的ratio,当z增加时,ratio减少,因为在ratio中,z是作为分母的。反之,当z减少时,ratio增加。所以可用ratio来控制mc的大小。如下: mc1._xscale=mc._xscale*ratio; mc1._yscale=mc._yscale*ratio; 2、控制mc的层次 z值最大,物体应在最底层,最小,在最上层, 所以mc的层次可以有z组成,可以用很大的数减z,也可以让z除以负数,等等,这里方法比较灵活,也是做”三维”效果的关键,主要要在调试中确定适合设计的方法。flash中,设置mc的层次用swapDepths,如下: mc.swapDepths(1000-z);//设置mc的层次 mc.swapDepths(z/-4); 3、控制mc的透明度 远处的物体看上去模糊些,近处的物体清晰些,在flash中,可用_alpha来控制,方法和控制大小类似,不在介绍原理。如下: mc._alpha=100*ratio; 4、控制mc的角度(旋转) 这一步最难,也最好的东东。学习以后,你将能制作出非常cool的效果 旋转有三种,x旋转:坐标x不变,y旋转:y不变,z旋转:z不变,我们先来推导z旋转。 如下图:从点(x,y,0)转到(x1.y1.0),求点(x1.y1.0)
文章页数:[1] [2] [3] [4] [5] [6] [7]