巧用Createjs的贝赛尔函数写美妙曲线并让它动起来

巧用Createjs的贝赛尔函数写美妙曲线并让它动起来
思路:起始点从(0,0)变到(0,不断加大);终止点从(1024,0)变到(1024,不断加大);
一个控制点位于直线y=400-x上;一个控制点位于y=1000-x上

var myG = new createjs.Graphics();var myS = new createjs.Shape(myG);myG.beginStroke("#FF0000");
var x1=0;
var x2=400;
var stX=-20;
var stY=0;
var enX=1024;
var enY=0;for (var i = 1; i < 100; i++) {
stY=stY+i1;
enY=enY+i
1;
x1=x1+i0.5
y1=400-x1;
x2=x2+i
0.5;
y2=1000-x2;
myG.moveTo(stX, stY);
myG.bezierCurveTo(x1, y1, x2, y2, enX, enY);
stage.addChild(myS);
}

在这里插入图片描述
只需要将FOR循环改成createjs.Ticker.addEventListener(“tick”,drawLine);function drawLine(){FOR循环里面的语句}将变量i在tick外进行设置为1,在drawLine()里加上一条i++.这条曲线就动起来了

好的,以下是用createjs实现绘图板的基本步骤: 1. 创建布 首先,我们需要在HTML中创建一个布元素,如下所示: ```html <canvas id="canvas" width="800" height="600"></canvas> ``` 2. 初始化createjs 在JavaScript中,我们需要初始化createjs库,创建一个Stage对象和一个Shape对象。Stage对象是用来管理布上所有对象的容器,Shape对象是用来绘制图形的。同时,我们还需要为布添加鼠标事件监听器,以便能够响应用户的绘图操作。代码如下: ```javascript var stage, shape, oldPt, oldMidPt, drawColor, drawSize; function init() { stage = new createjs.Stage("canvas"); shape = new createjs.Shape(); stage.addChild(shape); drawColor = "#000000"; drawSize = 5; stage.addEventListener("stagemousedown", handleMouseDown); stage.addEventListener("stagemouseup", handleMouseUp); stage.addEventListener("stagemousemove", handleMouseMove); } function handleMouseDown(event) { oldPt = new createjs.Point(stage.mouseX, stage.mouseY); oldMidPt = oldPt.clone(); stage.addEventListener("stagemousemove", handleMouseMove); } function handleMouseMove(event) { var midPt = new createjs.Point(oldPt.x + stage.mouseX >> 1, oldPt.y + stage.mouseY >> 1); shape.graphics.setStrokeStyle(drawSize, 'round', 'round') .beginStroke(drawColor) .moveTo(midPt.x, midPt.y) .curveTo(oldPt.x, oldPt.y, oldMidPt.x, oldMidPt.y); oldPt.x = stage.mouseX; oldPt.y = stage.mouseY; oldMidPt.x = midPt.x; oldMidPt.y = midPt.y; stage.update(); } function handleMouseUp(event) { stage.removeEventListener("stagemousemove", handleMouseMove); } init(); ``` 3. 绘制图形 我们使用Shape对象的graphics属性来绘制图形。在绘图时,我们需要指定线条的颜色、宽度、笔触等属性,然后使用moveTo()和curveTo()方法来绘制曲线。代码如下: ```javascript shape.graphics.setStrokeStyle(drawSize, 'round', 'round') .beginStroke(drawColor) .moveTo(midPt.x, midPt.y) .curveTo(oldPt.x, oldPt.y, oldMidPt.x, oldMidPt.y); ``` 4. 清空布 如果需要清空布,我们可以使用Shape对象的graphics属性的clear()方法来清除所有绘制的图形。代码如下: ```javascript function clear() { shape.graphics.clear(); stage.update(); } ``` 以上就是用createjs实现绘图板的基本步骤。你可以根据自己的需要添加其他功能,如选择颜色、选择笔大小等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值