偶偶首页
视频
Flash
动漫
论坛
首页
动画
排行榜
小游戏
闪客
会员秀
专题
点播台
资讯
教程
下载
上传
个人空间
最新动画
精品推荐
动画MV
动画短片
幽默搞笑
产品广告
节日贺卡
网站演示
教学演示
互动游戏
其他动画
最新动画
精品推荐
动画MV
动画短片
幽默搞笑
产品广告
节日贺卡
网站演示
教学演示
互动游戏
其他动画
本周排行榜
往期排行榜
排行榜榜评
最新游戏
休闲类
体育类
益智类
策略类
解谜类
射击类
格斗类
冒险类
敏捷类
圣诞类
爆笑类
美眉类
QQ空间flash
所有作品
用户排行
动画专题
游戏专题
系列短剧
男歌手MV系列
女歌手MV系列
源代码
字体字库
音源音效
矢量图库
个人空间首页
个人空间管理
资源搜索
源文件
字体字库
矢量图库
音源音效
简单实现AS绘制贝塞尔曲线
来源:jisekai | 点击:1626
看看效果吧:
AS如下:
//这个函数是用来绘制线条的
function connect(){
this.clear()
this.lineStyle(3,0x660000,100)
this.moveTo(anchorOne._x,anchorOne._y)
this.curveTo(controlOne._x,controlOne._y,anchorTwo._x,anchorTwo._y)
updateAfterEvent()
}
//这个函数是用来绘制替代描点跟控制点的MC,就绘制一个正方形吧
function createSquare(handle,side,offset){
if(offset==undefines){
offset=0
}
with(handle){
moveTo(offset,offset)
lineTo(offset,side)
lineTo(side,side)
lineTo(side,offset)
lineTo(offset,offset)
endFill()
}
}
//这是用来控制描点跟控制点的移动,并且用延时,间隔一段时间调用一次绘制线条
function setDraggable(handle){
handle.onPress=function(){
clearInterval(_global.refreshScreen)
_global.refreshScreen=setInterval(this._parent,"connect",10)
this.startDrag(false)
}
handle.onRelease=function(){
clearInterval(_global.refreshScreen)
this.stopDrag()
}
handle.onReleaseOutside=function(){
clearInterval(_global.refreshScreen)
this.stopDrag()
}
}
//建立描点
anchorOne=createEmptyMovieClip("anchorPoint1",this.getNextHighestDepth())
anchorOne._x=anchorOne._y=50
//填充
anchorOne.beginFill(0xcccccc,100)
//样式
anchorOne.lineStyle(0,0x000000,100,false,false,"none","miter",2)
//调用函数绘制成正方形
createSquare(anchorOne,8,-8)
//调用后方可拖动
setDraggable(anchorOne)
//另一个描点
anchorTwo=createEmptyMovieClip("anchorPoint2",this.getNextHighestDepth())
anchorTwo._x=anchorTwo._y=250
anchorTwo.beginFill(0xcccccc,100)
anchorTwo.lineStyle(0,0x000000,100,false,false,"none","miter",2)
createSquare(anchorTwo,8,-8)
setDraggable(anchorTwo)
//控制点
controlOne=createEmptyMovieClip("control1",this.getNextHighestDepth())
controlOne._x=anchorTwo._x
controlOne._y=anchorOne._y
controlOne.beginFill(0xcccccc,100)
controlOne.lineStyle(0,0x000000,100,false,false,"none","miter",2)
createSquare(controlOne,8,-8)
setDraggable(controlOne)
//最后让线条一开始就显示出来
connect()
复制粘贴就有效果。
上一篇:
推导三角形面积(纯AS)
下一篇:
纯AS钟表
教程
分类
FLASH基础
FLASH实例
经验技巧
特殊效果
手绘实例
软件应用
游戏制作
AS基础
教程
点击排行
1
物体的移动和旋转变化(11807)
2
用FLASH绘制精美的CG美(6085)
3
用PhptoShop做日式动漫(5348)
4
动画教程——彩虹字的(5203)
5
在Flash中加入声音文件(4849)
6
Flash中的鼠标绘画技巧(4652)
7
标准简易涂鸦板(4157)
8
简单的拖拽拼图(4035)
9
Flash中的鼠标绘画技巧(3890)
10
Flash实例之变色城堡(3726)
推荐闪客
最新作品
动画秘籍
bobo&toto8
中秋节
中秋节的传说
粪草当自强
云端的日子
疯狂运动会
西游狂想记
如何才能留住你
幸福的饭粒
关于我们 | 使用指南 | 广告服务 | 工作机会 | 使用协议 |
制作服务
| 版权声明
Copyright © 2006 卓智时代 版权所有 京ICP证050803号