学习过计算机图形学的朋友都知道,在计算机中所有的图形,包括现在盛行的三维游戏内部的三维造型也都是由三角形拼合而成的。也许不久以后,我们真的能够看到使用Flash MX 开发的三维图象引擎。我们先来了解一下Flash MX的绘图流程:
设置起点-〉从起点绘制到另一点线条,并设置那个点为新的起点-〉填充颜色。
利用AS进行图形绘制:
1)我们来做一个利用AS绘制图形的例子,打开Flash MX,鼠标选择第一帧,在action-frame面板上输入如下AS(关于此段AS的含义请参考其中的注释):
createEmptyMovieclip("pcdraw",1);
//新建一个空的Movieclip命名为pcdraw
pcdraw.onMouseDown=function(){this.lineto(_root._xmouse,_root._ymouse)};
//影片播放时,当鼠标按下,则使用当前line style绘制线段连接初始点与鼠标按下的点,而如果调用此方法前没有moveto方法,则从(0, 0)开始画线。
pcdraw.linestyle(5, 0x006699, 100);
//定义线条风格。你可以在路径中间调用以获得不同的线条风格。
2)lineStyle的使用方法讲解
myMovieclip.lineStyle ([thickness[,rgb[,alpha]]])
参数:
thickness:指定线条粗细(必须)。有效值0-255,0即hairline,如小于0,则认为0,如大于255,则认作255。
rgb:16 进制表示的颜色值。
alpha:线条的透明度,取值范围在0-100之间。
由此我们可以知道,我们在实例中将得到粗5px,颜色为深蓝色,完全不透明的直线。
3)按下CTRL+ENTER开始测试影片,我们可以看到,当我们使用鼠标在影片范围内单击时,Flash MX将自动的把坐标原点与鼠标点击的点连接起来,当再地点击鼠标时,又将在第一次点击点与此次点击点间连线,并如此循环。
createEmptyMovieclip("pcking",1);
//新建一个空的Movieclip命名为pcking
function draw () {
//声明draw()函数
pcking.lineStyle(random(++i/100),++i*random(30),(++i/30));
//利用random函数取随机数来决定线条的颜色,粗细以及透明度
tempx=random(500);
tempy=10;
//声明变量,用来决定线段的开始端点的坐标
pcking.moveTo(tempx,tempy);
pcking.lineTo(tempx, tempy+300);
//用线段连接坐标为tempx,tempy的端点与坐标为tempx, tempy+300的端点
}
idDream=setInterval(draw,50);
//每隔50毫秒重复执行一次函数draw()
3)setInterval()的使用方法讲解
flash MX开始支持Javascript、Vbscript一样的timer,即使用setInterval()设定一个时间间隔,每次执行一个函数,在Javasctipt中最典型的应用是网页上的跑马灯或本机时间显示器。setInterval()是一个多态的方法,用于每隔一定时间使用指定的参数执行一个函数或一个对象的方法常用的语法如下:
setInterval( function, time )
function为你想要循环执行的函数。
time为你设置的时间间隔,要注意的是,其单位为豪秒,如设置为1000则正好是间隔1秒。
4)按下CTRL+ENTER开始测试影片,我们可以看到一根根粗细不一的彩色线条出现在屏幕上,越来越多。而实现这一切除了使用一段并不复杂的AS之外,没有进行任何其他编辑。(演示如下,为避免大家cpu受累,增加了一些控制)
总结:
Flash mx的出现给我们带来的不只是惊喜,更是一种思维的解放,灵感的并发。文章的重点并不仅仅是要教你如何精通Flash MX,而是希望利用实例表现Flash MX强大而奇妙的功能,从而因发你学习的兴趣,只有有了兴趣,才有可能学好Flash MX。本文在写作过程中参考了画魔等朋友的文章,在此向他们表示感谢。最后,祝大家闪得更亮,闪得更精彩。