
众所周知,Flash中要实现3D效果是比较麻烦的,下面我们就用Acti width=385 border=1>
3、按“Ctrl + F8”新建一个MovieClip,命名为“line”,类型为MovieClip,将上一步制作的“circle”Clip拖到此Clip的场景中,命名为“circle”。在此Clip的时间轴的第30帧上面点击鼠标右键,选取“Insertkeyframe”,从而插入关键帧。选取第30帧的场景里面的“circle”Clip,设置属性如图3所示。在第60、90帧上面插入关键帧,分别设置场景里面的“circle”Clip属性如图4、5所示。最后在第120帧上面插入关键帧。
4、点击 “line”Clip中时间轴上面的第1帧、第30帧、第60帧、第60帧,分别设置帧的属性如图6所示。
5、按“Ctrl + F8”新建一个MovieClip,命名为“vertex”,类型为MovieClip,在此Clip的场景中用文本工具输入“loading”这几个字。
6、返回到主场景中,将“line”Clip和“vertex”Clip都拖到场景中,并分别将它们的实例名设置为“wire”和“point”。:2
7、在主场景的时间轴上面,插入一个新的层,命名为“Scripts”,分别在此层的第2帧、第3帧上面插入关键帧。
注释1:定义显示的文字为11个。
注释2:定义组成3D图形的元素有10个。
注释3:定义一个控制3D图形显示比例的变量。
注释4:在这里定义几个数组,大小为刚刚所定义的变量,用来放置3D图形的各种细节。
注释5:为了使效果看起来更好,这里实现全屏效果,有关fscommand更多的细节可以查看Flash中自带的帮助文件。
注释6:复制文字Movie Clip,个数为前面所定义的变量值。
注释7:复制组成图形的元素的Movie Clip,个数为前面所定义的变量值。
注释8:设置3D图形中的文字的x、y、z坐标值,这里是3维的,改变这些值就改变了文字在3D图形中的位置。
注释9:设置3D图形中的图形元素的x、y、z坐标值,因为图形元素已经是2维的,所以只需要2个值就可以表示3维的效果。
注释10:定义一个函数,在这个函数里面,根据传入的x、y、z的坐标值,改变在相应数组中的值,从而实现了旋转的效果。
注释11:定义一个常量,在将值转换成弧度的时候用。
注释12:因为在下面的sin/cos函数中只能使用弧度,所以将传入的x、y、z坐标值转换成弧度。
注释13:在这个循环里面,依次改变数组中的x、y、z的值,实现旋转效果。
注释14:在Flash中只能显示二维坐标,这个函数就实现了将三维坐标转换成二维坐标,这里的实现方法很值得深思。
注释15:这里的350和262.5分别为图形元素的长和宽,如果改变了图形元素的大小,也要相应的改变这两个值。
注释16:这个函数实现了对最终生成三维图形进行显示和渲染,若要实现不同的显示效果,修改里面相应的值即可。
注释1:这里的四行是取得鼠标的位置。
注释2:这里将x、y、z的值自增一,是为了在鼠标不动的时候,图形还可以保持旋转。
注释3:这里是为了响应鼠标的动作而设置的值。
注释4:将值设置为0,在下次循环的时候使用。
注释5:调用第一帧里面所定义的函数,旋转传入的坐标值。
注释6:旋转一周为360度,要对超过360的值进行处理。
注释7:调用第一帧里面所定义的函数,将三维的坐标转换成可以在Flash显示的二维坐标。
注释8:调用第一帧里面所定义的函数,渲染、显示所生成的三维图形。
10、在“Scripts”层的第3帧的Action面板上面添加如下语句: gotoAndPlay(2);
注释:回到第二帧,使效果看起来连贯。
三、小结
至此,实例就制作完了,效果虽然比较简单,但也为在Flash中实现3D效果提供了一种思路。
相信经过本实例的研究,对Flash中函数的操作、坐标的转换、用ActionScript控制图形的显示、ActionScript数组的操作等等都会变的得心应手,仔细研究一下,还是值得的。
另外,将实例中涉及的文字和图形元素进行变换,可以得到不同的效果。对相应的值进行修改,也可以改变显示的效果,如大小,位置,透明度等等。
作者:翅膀
欢迎您访问www.5ucms.org