- 浏览: 40327 次
- 性别:
- 来自: 上海
最新评论
[1b]绘画方法:[/1b]
下面是Flash中的绘画方法:
[1b]
· MovieClip.beginFill() //添充实色
· MovieClip.beginGradientFill() //开始渐变添充
· MovieClip.clear() //清除
· MovieClip.curveTo() //绘制曲线
· MovieClip.endFill() //结束添充
· MovieClip.lineStyle() //线条样式
· MovieClip.lineTo() //绘制直线
· MovieClip.moveTo() //移动坐标
[/1b]
曲线的绘制使用的上述命令列表中的curveTo()用法。在绘制曲线的过程仍要结合上述命令列表中的一些方法,如moveTo,lineStyle,clear等等。
我们先来看曲线的语法:
curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number)
从上面的语法中我们分析,一条曲线有两个端点,还有用来控制曲度的点,我们称它的锚点。因为每个影片剪辑中的虚拟钢笔的默认起始位置为0,0点,所以根据公式:
anchorX,anchorY则为曲线的第二个端点,我们把它称为锚点,当然你可以在绘制曲线之前使用moveTo来移动起始点。
ControlX,controlY为控制曲线的曲度的控制点,通过它可以帮助我们来控制曲线,曲线的背后有着很复杂的数学背景,不同的曲线控制点的数量也会不同,二次曲线,三次曲线等等可控的控制点数量是不同的。
[1b]基本曲线curve[/1b]
我们先来看一个最简单的范例绘制曲线:
先看演示:
basic_draw_curve.swf
代码如下:
[1b]代码:[/1b]
drawbtn.onRelease= function(){
_root.lineStyle(1,0xff0000,100);
_root.curveTo(200,350,200,150);
}
我们使用的是上一篇教程中的basic_draw的代码,只是把按钮中的lineTo更换为curveTo方法。
在上述代码中
_root.curveTo(200,350,200,150);
其中前两个数字代表控制曲度的控制点的坐标,后两个数字是曲线的第二端点,也称为锚点。
点击按钮就可绘制了。这只是针对我们曲线的最简单的应用。
[1b]控制曲线:[/1b]
先看演示
control_draw_curve.swf
代码如下:
[1b]代码:[/1b]
this.attachMovie("sign","sign1",100);
this.attachMovie("sign","sign2",101);
this.attachMovie("sign","sign3",102);
//this.attachMovie("sign","sign4",103);
sign1._x =100;
sign1._y =80;
sign2._x =320;
sign2._y =80;
sign3._x = 320;
sign3._y =220;
//sign4._x = 100;
//sign4._y = 220;
createEmptyMovieClip("myClip",1);
createEmptyMovieClip("myClip1",2);
function drawline(){
myClip.clear();
myClip.moveTo(sign1._x,sign1._y);
myClip.lineStyle(2, Math.random()*0xff0000+0xffff00, 100);
myClip.curveTo(sign2._x,sign2._y,sign3._x,sign3._y);
//绘制辅助线
myClip1.clear();
myClip1.lineStyle(1,0xcccccc,100);
myClip1.moveTo(sign1._x,sign1._y);
myClip1.lineTo(sign2._x,sign2._y);
myClip1.lineTo(sign3._x,sign3._y);
myClip1.lineTo(sign1._x,sign1._y);
}
drawline();
sign1.onPress =sign2.onPress=sign3.onPress= function(){
this.startDrag();
onEnterFrame = drawline;
}
sign1.onRelease =sign2.onRelease=sign3.onRelease= function(){
this.stopDrag();
}
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/395.html
发表评论
-
使用 Flash Remoting in Flash Forms 制作 Live Search
2010-04-10 10:01 579即时搜索效果察看 Live Search 的程式分成两部份 ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 501var listInfo = new Array() fun ... -
Remoting中接受query类型数据方法
2010-04-10 10:00 497var listInfo = new Array() fun ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 551续flash remoting中参数传递与调用,补充其他数据类 ... -
Flash remoting参数传递与调用补充
2010-04-10 10:00 638续flash remoting中参数传递与调用,补充其他数据类 ... -
Flex2/AS3在Linux下的开发环境
2010-04-09 12:58 493这次修正了万恶的“Incorrect flash playe ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 828本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
flash AS3的面向对象特点概述
2010-04-09 12:58 722本文是我(aw)在整理了相关文档和讨论之后,结合自己的亲自实 ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 642[1b]AS1/2-AS3观念的转变(Meet with n ... -
从AS1和AS2到AS3的观念转变
2010-04-09 12:57 545[1b]AS1/2-AS3观念的转变(Meet with n ... -
as3打造一个非常酷的莲花曲线效果
2010-04-09 10:04 691详细代码: var radius:int=100; va ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 690呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
AS3.0 单一职责原则设计模式
2010-04-09 10:04 675呵呵,好久没写了。因为前段时间心情不是很好,并且各种事情比较多 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 541这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
ActionScript 3 开发的需注意的方面
2010-04-09 10:03 513这些东东都不是很难,只是方法不常用或没注意到,以后还会陆续添加 ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 664本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (1)
2010-04-08 10:22 546本教程是给对flash有基础了解的人看的(最起码你得知道fla ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 531先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (2)
2010-04-08 10:21 519先画草图!! [url=http://space.flash8 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:21 562一般的简单动画都会吧?别告诉我你连物体移动都不会!! ...
相关推荐
代码实现封装为连个函数,一个是实现给定三点或者四点计算样条曲线平滑点,一个是计算一些列散点的平滑曲线。可实现二维平面曲线和三维空间曲线的样条曲线计算。样条曲线的阶次和曲线平滑度均可以通过函数的参数配置...
C#GDI+ 鼠标绘制图像 样条曲线 Nurbs 三次样条曲线 很经典很完美的样条曲线,注意不是贝塔尔曲线,是Nurbs曲线,也叫三次样条曲线,和CAD绘制的一模一样,显示的效果也一模一样。
三次样条曲线拟合 三次样条曲线拟合
为求取点到空间样条曲线的距离,提出一种往复搜索算法.该算法从样条曲线开始处,依次依据一定步长提取3个点,计算已知坐标到这3个点的距离,并依据3个距离的大小关系决定下一步的搜索区间,直至相邻两次搜索计算得出的...
基于c++实现的任意次样条曲线拟合,注释详尽
用C#绘制样条曲线, Point[] points = {new Point(60, 60), new Point(150, 80), new Point(200, 40), new Point(180, 120), new Point(120, 100), new Point(80, 160)}; Pen pen = new Pen(Color....
CAD VBA 二次开发,实现将样条曲线转化为多段线。
CAD关于多段线和样条曲线的转换,如何把多段线转换为样条曲线,如何把样条曲线转换成多段线,把样条曲线转换成多段线另类方法
3种源码,三次样条函数算法C++源代码,用于工程上计算平滑曲线的插值计算.
AutoCAD样条曲线偏移后节点太多,不便编辑,这个程序可以让样条曲线按节点偏移,偏移后的样条曲线的节点跟源样条曲线一样多,如果对精度要求不高,可以用这个程序来代替AutoCAD原来的偏移命令,本程序只对有拟合点的...
代码实现封装为连个函数,一个是实现给定三点或者四点计算样条曲线平滑点,一个是计算一些列散点的平滑曲线。可实现二维平面曲线和三维空间曲线的样条曲线计算。样条曲线的阶次和曲线平滑度均可以通过函数的参数配置...
贝塞样条曲线 VTK实现
一个可以使用鼠标点击,画出bezier曲线的python程序
用VC6.0绘制三次Bezier样条曲线和三次B样条曲线
VBA 二次开发创建椭圆和样条曲线以及相关操作
每一条样条曲线都使用阶数(曲线参数方程的次方数)和段数来定义。样条曲线的极点数量与它的阶数和段数有关。样条曲线的阶数一般比定义样条段时所用到点的数量少1。
用此程序,可将一条曲线离散成散点,并用三次样条曲线重新拟合,使其具有良好而形态。
C#_CAD二次开发_批量将样条曲线Spline转化为多段线Plyline(代码)
用vc实现的画线程序,可以生成三次样条曲线,b样条曲线
自己所做的自然三次样条曲线,包含所有源码 , 在程序中使用三弯矩阵、追赶法解矩阵得系数,使用插值法计算出控制点以外的其他点