网站公告列表     您想发表论文吗?您想编书吗?欢迎加入新星编著团队!  [admin  2006年11月30日]        
您现在的位置: 高中数学CAI网 >> 课件教程 >> Flash教程 >> 课件教程正文
  FlashMX Action画线方法(下)           ★★★ 【字体:
FlashMX Action画线方法(下)
作者:Ric Ewin…    课件教程来源:网络    点击数:    更新时间:2006-10-4    

FlashMX Action画线方法(下) 作者:Ric Ewing 
 翻译:flashmeng

MovieClip.beginFill(rgb, alpha)

这个指令用来设定“虚拟钢笔”所绘制出的封闭的区域的填充颜色和不透明度,如果没有指定lineStyle的rgb和alpha的值则线条是不可见的。
RGB:用来设定封闭区域的填充颜色,和上边的lineStyle的设定方法一样都是使用16进制代码来表示。如果没有指定颜色则填充为黑色。
Alpha:和lineStyle的意义相同,不再细述。
实例说明:
如同lineStyle,你可以将rgb, alpha的值缺省而使用默认值。它需要配合使用 lineTo 或 curveTo (这个以后将讲道) 来定义封闭区域的各个顶点位置(也就是围成这个封闭区域的线条的交点位置)从而知道这个封闭区域的形状、大小以及位置。举一个简单的例子:

_root.beginFill(0x00FF00);
_root.moveTo(100,100); // this is the origi
_root.lineTo(200,100);
_root.lineTo(200,200);
_root.lineTo(100,200);这段as将生成一个绿色的正方形,四个顶点的坐标分别为:
(100,100);(200,100);(200,200);(100,200)。
我们可以通过定义lineStyle来扩展一下

on (release) {
  _root.lineStyle(0x0000FF);
  _root.beginFill(0x00FF00);
  _root.moveTo(100,100); // this is the origin
  _root.lineTo(200,100);
  _root.lineTo(200,200);
  _root.lineTo(100,200);
}这样就可以得到一个边框为1像素的蓝色的布透明的边框,其他各项参数不变。
但是,我强烈推荐通过使最后所画的直线回接到图形的出发点的方式来封闭填充图形。有关上面的代码的另外一个问题是填充是从左开始的,后面每遇到一个lineto 语句都会继续改变。另外一种可能引起麻烦的情况是,在勾画填充的代码中,每加入一个moveto语句都会使原来的填充自动封闭而重新开始一个新的填充。运行下面的代码来看一下是怎样的情形, (也就是说但如果你在as中没有闭合所绘制的路径的话,程序就会自动的将第一个“点”和最后一个“点”连接起来使得路径闭合以得到一个封闭的区域。)看如下代码:

_root.beginFill(0x00FF00);
_root.moveTo(100,100); // 这是原点
_root.lineTo(200,100);
_root.lineTo(200,200);
_root.moveTo(100,200); // 闭合第一个填充区域并且开始一个新的
_root.lineTo(200,300);
_root.lineTo(100,300);
这样我们可以得到两个等边三角形。MovieClip.endFill()

这个指令没有附带参数,它声明结束一个beginFill指令并且清除早先对“钢笔”的种种设置,它不能单独出现只能和beginFill指令成对出现。当然你可以不使用它就像上边的as一样,我们建议你养成使用endFill的好习惯。下边的as将绘制一个正方形:

_root.beginFill(0x00FF00);
_root.moveTo(100,100); // 定义了原点位置
_root.lineTo(200,100);
_root.lineTo(200,200);
_root.lineTo(100,200);
_root.lineTo(100,100); // 闭合路径
_root.endFill(); // 结束Fill这是段很工整的as,下边的这个例子中你可以脱拽三个句柄来实时改变三角形的形状、位置、大小等。

下边是核心代码:

// 在舞台上放置3个句柄来定义出三角形的各个顶点
_root.attachMovie("squareHandle", "h1", 5);
_root.attachMovie("squareHandle", "h2", 6);
_root.attachMovie("squareHandle", "h3", 7);
h1._x = 50;
h1._y = 150;
h2._x = 250;
h2._y = 150;
h3._x = 150;
h3._y = 50;
// 创建一个空的MC来放置他们
_root.createEmptyMovieClip("mc", 1);
// 定义函数draw
function draw() {
  // 清除以前的填充设置
  mc.clear();
  // 设置填充的各项参数
  mc.beginFill(0x0000FF, 20);
  // 根据3个句柄的位置绘制出三角形
  mc.moveTo(h1._x, h1._y);
  mc.lineTo(h2._x, h2._y);
  mc.lineTo(h3._x, h3._y);
  mc.lineTo(h1._x, h1._y);
  // 结束Fill
  mc.endFill();
}
// 使函数draw每隔25毫秒刷新一次
setInterval(draw, 25);
// 完成asMovieClip.clear()

在上边的as中我们遇到了这个新的指令mc.clear();它的作用就是清除mc。包括对这个mc本身的设置和mc中所包含的物件,并且将虚拟钢笔的各项参数恢复到默认值。


课件教程录入:admin    责任编辑:admin 
  • 上一篇课件教程:

  • 下一篇课件教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    不用专业软件也可制作Flash课…
    巧妙提取Flash课件中的素材
    利用Flash MX模板制作多媒体…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
    利用Flash MX模板制作课件(…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    Copyright © 2006 MathsCAI.com. All rights reserved. 高中数学CAI网 版权所有
    中华人民共和国信息产业部备案号:湘ICP备06007762号
    本站站长:文武之道 QQ:633732 合作伙伴:新星编著团队 技术支持: