国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

canvas繪制的直線動畫

2019-11-19 17:48:13
字體:
供稿:網(wǎng)友

話不多說,請看代碼:

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>first line</title> <style type="text/css">       body{         background: #456E89;       } .canvas { height: 300px; width: 300px;  margin: 0 auto; font-family: arial; } </style> </head> <body> <div class="canvas"> <canvas id="cvs" width="300" height="300"></canvas> </div> <script type="text/javascript"> var cvs = document.getElementById("cvs").getContext("2d"); function Anim(opt) { //初始化值 this.opt = opt; } //node 表示畫布節(jié)點 //staX 表示開始x坐標(biāo) //staY 表示開始y坐標(biāo) //len表示終點坐標(biāo), //timing表示運(yùn)行的間隔時間,  //num表示坐標(biāo)增長的大小  //direc表示判斷繪制線條的方向,false表示X軸,ture表示Y軸 //lw表示線寬的大小  //color 表示繪制線條顏色 Anim.prototype.draw = function() { //繪制直線的線條 var opt = this.opt; //設(shè)置對象的屬性 var adx = opt.staX; var ady = opt.staY; var that = {  x: opt.staX,  y: opt.staY }; var Time = setInterval(function() {  opt.direc //判斷繪制方向  ?  opt.len > ady ? ady += opt.num : ady -= opt.num :  opt.len > adx ? adx += opt.num : adx -= opt.num;  if(adx == opt.len || ady == opt.len) { //停止循環(huán)  clearInterval(Time);  }  opt.Node.beginPath(); // 開始繪制線條  opt.Node.moveTo(that.x, that.y);  opt.Node.lineTo(adx, ady);  opt.Node.lineWidth = opt.lw || 1;  opt.Node.strokeStyle = opt.color;  opt.Node.stroke(); }, opt.timing); }; Anim.prototype.txt = function(opc) {//繪制文字  cvs.beginPath(); cvs.fillStyle = "rgba(255,255,255,"+opc+")"; cvs.font = "200px arial"; cvs.fillText("L", 100, 200); }; var line1 = new Anim({ //實例 Node: cvs, color: "#fff", staX: 114, staY: 58, len: 134, timing: 50, num: 1, direc: false, lw: 2 }); line1.draw(); //執(zhí)行繪制 var line2 = new Anim({ Node: cvs, color: "#fff", staX: 115, staY: 58, len: 200, timing: 20, num: 1, direc: true, lw: 2 }); line2.draw(); var line3 = new Anim({ Node: cvs, color: "#fff", staX: 133, staY: 184, len: 58, timing: 20, num: 1, direc: true, lw: 2 }); line3.draw(); var line4 = new Anim({ Node: cvs, color: "#fff", staX: 132, staY: 184, len: 203, timing: 35, num: 1, direc: false, lw: 2 }); line4.draw(); var line5 = new Anim({ Node: cvs, color: "#fff", staX: 203, staY: 199, len: 115, timing: 35, num: 1, direc: false, lw: 2 }); line5.draw(); var line6 = new Anim({ Node: cvs, color: "#fff", staX: 203, staY: 199, len: 184, timing: 50, num: 1, direc: true, lw: 2 }); line6.draw(); var test = new Anim();//繪制文字實例 setTimeout(function () { var num = 0; var times = setInterval(function () {  num++;  var t = num/100;  if(t === 1){  clearInterval(times);  }  test.txt(t); },50) },3000) </script> </body></html>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 方正县| 阳江市| 荃湾区| 松阳县| 仁寿县| 上虞市| 奈曼旗| 高要市| 澳门| 廉江市| 开远市| 正定县| 文水县| 抚顺市| 遵义市| 恩平市| 健康| 武陟县| 铜山县| 汤原县| 晋城| 清水县| 依兰县| 漯河市| 横山县| 金坛市| 吉水县| 固安县| 浦东新区| 蚌埠市| 东丰县| 阳东县| 鹰潭市| 当涂县| 彩票| 恩施市| 香河县| 淮安市| 灯塔市| 奈曼旗| 静乐县|