用户名: 密码: 验证码: 注册           网站地图 高级搜索 RSS订阅 收藏本站
山东十七地市站长联盟信息: 济南 青岛 淄博 枣庄 东营 烟台 潍坊 济宁 泰安 威海 日照 莱芜 临沂 德州 聊城 滨州 菏泽      
您的位置:主页>设计在线>网页设计>

简单实现AS绘制贝塞尔曲线

[ 来源: | 作者: | 更新日期:2007-8-30 17:35:25 | 评论 0 条 | 我要投稿 ]
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) 字串7
  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)

字串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()
复制粘贴就有效果。
Tags:曲线 实现 简单 // offset false side lineTo 控制 _global.refr
您的评论
用户名:新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为