庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>媒体动画>Flash>Action Script>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Flash MX的AS绘图和时间控制

 作者:pcking    日期:2005-6-20
字号选择〖 〗/ 双击滚屏 单击停止   
  Flash MX作为一款功能强大的矢量动画工具,绘图是其必不可少的重要部分。相信大家都有过使用Pen tool(钢笔工具)或者pencil tool(铅笔工具)绘制人物与场景的经历。但是你有没有想过,有一天你居然可以放下鼠标,忘记那让人手腕酸痛的拖拽曲线,而直接使用AS来制作图型呢?Flash MX就提供了这样的功能,虽然不可能完全取代我们手工绘图,但是毕竟是一个很有新意与创造性的功能。更为重要的是如果我们使用在Flash MX新提供的createEmptyMovieclip命令(其含义是新建一个空的Movieclip),我们甚至只需要在Flash MX中写as代码,而不必做任何其他操作,(包括新建Movieclip)就可以得到非常漂亮的效果。

  学习过计算机图形学的朋友都知道,在计算机中所有的图形,包括现在盛行的三维游戏内部的三维造型也都是由三角形拼合而成的。也许不久以后,我们真的能够看到使用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将自动的把坐标原点与鼠标点击的点连接起来,当再地点击鼠标时,又将在第一次点击点与此次点击点间连线,并如此循环。


试试用鼠标在上面画图吧!
  使用as控制时间

  1) 在运行期的处理是通过一个主程序时钟来让程序一直处于循环状态,直到用户、异常错误或系统中断而退出循环到结束处理。在我们平时制作flash动画的时候,经常需要获得一段时间间隔来达到我们所想要的效果,通常的做法是利用影片两帧上循环的as指令来达到延时的目的。现在不同了,Flash MX提供了更简单的方法。我们终于可以控制Timer了。

  2) 打开Flash MX,鼠标选择第一帧,在工作区域下方的Action-Frame面板上输入如下AS(关于此段AS的含义请参考其中的注释):(如图3|)

  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。本文在写作过程中参考了画魔等朋友的文章,在此向他们表示感谢。最后,祝大家闪得更亮,闪得更精彩。

上一篇:AS计算方面的错误    下一篇:用flash动作脚本动态创建和控制文本框  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: pcking
信息来源: 网络 录入时间: 2005-6-20
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿