合肥卓想动画工作室 承接全国+flash动画制作 + flash动画设计 + 各类flash动画制作设计


联系方式

flash解构涂料中的应用IV:椭圆工具

时间:2012-12-18 14:09来源:卓想动画http://www.zxgzs.com 作者:QQ:610929375 点击:


 

正如行工具的画笔工具和教训的教训,为椭圆形工具做的第一件事情是设立按钮,这样当它被选择,的积极工
具(和存储_root.isactive),被定义为椭圆形的工具。
做完这些后,我们可以一起来看看在新功能的Flash绘图API 的curveTo。 的curveTo如lineTo的 ,因为它是
连接两个点,但不是画一条直线从点A到点B,而不是绘制一条曲线-它不仅需要的开始和结束点(锚),但控
制的坐标点:点,线曲线向。 控制点的位置决定的开始和结束的锚点之间的曲线的丰满和陡度。
的椭圆工具,我们并不真的需要开始绘制鼠标被按下的那一刻起,我们只需要记得,我们已经定义的位置
_root.linex和_root.liney [/ URL]在我们的第一个onClipEvent事件(鼠标按下),这将是举足轻重的,在
确定的椭圆工具的行为,当鼠标移动时,它的发布。 就像行工具,我们希望在一个新的,空的影片剪辑,让
用户预览的大小绘制圆,当鼠标点击和拖动来创建一个单像素跟踪:
 if (_root.isactive=="circle"){ _root.createEmptyMovieClip("ellipsetracker",2) ;
_root.ellipsetracker.lineStyle(1,_root.currentcolor,100) ; _root.ellipsetracker.moveTo
(_root.linex,(_root._ymouse+_root.liney)/2) ; _root.ellipsetracker.curveTo(_root.linex,
_root.liney,(_root._xmouse+_root.linex)/2,_root.liney ) ; _root.ellipsetracker.curveTo
(_root._xmouse, _root.liney,_root._xmouse, (_root._ymouse+_root.liney)/2 ) ;
_root.ellipsetracker.curveTo(_root._xmouse,_root._ymouse,
(_root._xmouse+_root.linex)/2,_root._ymouse) ; _root.ellipsetracker.curveTo(_root.linex,
_root._ymouse, _root.linex,(_root.liney+_root._ymouse)/2 ) ; }
这是放置在onClipEvent事件(鼠标移动),其中包含运动行为的画笔工具和直线工具的脚本进行检查,以确
定的价值_root.isactive设置为“圆”,然后执行里面设置的行动。
的格式的curveTo是类似的lineTo的,在使用线型和必须设置的起点,使用moveTo绘制的曲线的大小,颜色和
不透明度设置。 其余的,但是,可能看起来像希腊,让我们来剖析它。
A曲线开始由使用moveTo(anchorx,锚Ŷ)中定义的锚点,并绘制到两个新的锚点定义的curveTo,与扩口朝向
一个控制点的曲线本身:
 _root.ellipsetracker.moveTo(0,0) ; _root.ellipsetracker.curveTo (25,25,50,50) ;
在这个例子中,点(0,0)开始和结束点(50,50)在舞台上绘制的曲线,但对定义的点(25,25)扩口的曲线
。 这是很简单的静态图,但是当它涉及到一些动态的,不断变化的鼠标移动,这是其中的变量进来
为了定义一个完整的圆,你应该有至少四个控制点和4个锚点,所有连接到关闭的圆圈 - 但你有更多的积分,
更顺畅,更完美的圆形圈。 我已经使用的涂料为便于计算锚点的应用程序,如果你将看到在上面的例子中,
一个圆圈已被分成象限明确的出发点和落脚点,每条曲线的开始和结束标记位置鼠标的光标(_root.linex,
_root.liney和_root._xmouse _root._ymouse)。
锚点(图中蓝色部分)计算的定义点之间的中间控制点(和每个控制点包括四个象限)。 每一个的curveTo绘
制一条曲线从A点到B点,然后B点到C点,C点到D点,然后从D到A。
你的头受伤了吗? 我的是。 的curveTo的Flash绘图API中最难的部分是一个理解的,但一旦你掌握了它是非
常有用的,并且很容易。
移动上:只为与该行工具的跟踪,一次的鼠标按钮释放,我们正在打算要到使用清晰(),以明确的椭圆形工
具的跟踪和绘制的最终形状使用的用户指定的颜色和不透明度,这时候与冲程的0:
 if(_root.isactive=="circle"){ _root.ellipsetracker.moveTo(_root.linex,
(_root.liney+_root._ymouse)/2) ; _root.layer.lineStyle(0,_root.currentcolor,0) ;
_root.layer.moveTo(_root.linex,(_root._ymouse+_root.liney)/2) ; _root.layer.beginFill
(_root.currentcolor,_root.base.opac) ; _root.layer.curveTo(_root.linex, _root.liney,
(_root._xmouse+_root.linex)/2,_root.liney ) ; _root.layer.curveTo(_root._xmouse,
_root.liney,_root._xmouse, (_root._ymouse+_root.liney)/2 ) ; _root.layer.curveTo
(_root._xmouse,_root._ymouse,(_root._xmouse+_root.linex)/2,_root. _ymouse) ;
_root.layer.curveTo(_root.linex, _root._ymouse, _root.linex,(_root.liney+_root._ymouse)/2 ) ;
_root.layer.endFill() ; _root.ellipsetracker.clear() ; }
使用完全相同的坐标跟踪时,释放鼠标,绘制椭圆形,由用户指定的确切大小和形状,但只使用实心填充。
你会发现两个新的命令以粗体显示:beginFill和 endFill。 首先告诉Flash,它需要填补的 beginFill命令
的API命令后,将被定义为一个封闭的形状,与在内部定义的颜色和不透明度(无论是由变量或十六进制和数
字值)的填充组。 后者告诉Flash什么时候该停止灌装,而不是其他。 双方都必须包括或将无法正常工作。

(责任编辑:卓想动画http://www.zxgzs.com)




上海 北京 深圳 广州 成都 杭州 重庆 武汉 苏州 合肥 亳州 天津 南京 沈阳 西安 青岛 大连 宁波 济南 哈尔滨 长春 厦门 郑州 长沙 福州 乌鲁木齐 昆明 兰州 无锡 南昌 贵阳 南宁 太原 石家庄 呼和浩特 佛山 东莞 唐山 烟台 泉州 包头 温州 淄博 海口 银川 西宁 南通 大庆 徐州 潍坊 常州 鄂尔多斯 绍兴 济宁 盐城 邯郸 临沂 洛阳 东营 扬州 台州 嘉兴 沧州 榆林 泰州 镇江 昆山 江阴 张家港 义乌 金华 保定 鞍山 泰安 宜昌 襄阳 中山 惠州 南阳 威海 德州 珠海 柳州 宿迁 芜湖 岳阳 菏泽 漳州 信阳 蚌埠 绵阳 株洲 邢台 桐城 桂林 衡阳 铜陵 三亚 阜阳 荆州 遵义 咸阳 驻马店 上饶 湛江 湘潭 汕头 莆田 滁州 廊坊 赣州 肇庆 九江 德阳 淮安 曲靖 湖州 揭阳 许昌 秦皇岛 江门 新乡 潮州 商丘 宁德 吉林 连云港 常德 宜春 黄冈

卓想动画 版权所有 flash作业- 网页设计作业
返回首页   |   电话咨询   |   微信咨询