canvas连线
来源:互联网 发布:12芯三网合一网络箱 编辑:程序博客网 时间:2024/04/27 16:41
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> *{ margin:0px; padding:0px; font-family: "Microsoft YaHei"} a{text-decoration: none} a img{display: block; border: none} li{list-style: none} #goudan{ background-color: #000; display: block; } </style> <script src="jquery.min.js"></script></head><body> <!-- 默认300*150--> <canvas id="goudan" width="100%" height="400px"></canvas></body> <script> var canvas = document.getElementById('goudan'); var ctx = canvas.getContext('2d'); var w = canvas.width = window.innerWidth; var h = canvas.height = window.innerHeight; var num = 200; // var data = [];//定义一个数组存储初始坐标 for(var i = 0;i<200;i++){ data[i] = {}; //random的值范围(0,1] data[i].x = Math.random()*w; data[i].y = Math.random()*h; //点在屏幕上循环一次的移动的距离 随机数2、-2 data[i].cX = Math.random()*4-2; data[i].cY = Math.random()*4-2; //圆心坐标x,y 半径 弧度 逆时针 var x = Math.random()*w; var y = Math.random()*h; Circle(x,y); } //画圆 function Circle(x,y){ ctx.fillStyle = 'pink'; ctx.beginPath(); ctx.arc(x,y,0.3,0,2*Math.PI,true); ctx.closePath(); ctx.fill(); } //画线 function Line(x1,y1,x2,y2){ //渐变色 var lin = ctx.createLinearGradient(x1,y1,x2,y2); lin.addColorStop(0,'#9900ff'); lin.addColorStop(0,'#00ffff'); ctx.strokeStyle = lin; //路径 ctx.moveTo(x1,y1); ctx.lineTo(x2,y2); //画 ctx.stroke(); } //将函数编程函数表达式 加+ - ()都可以 ~function draw(){ //console.log('哈哈哈'); //把页面中的内容擦干净 ctx.clearRect(0,0,w,h); for(var i = 0;i<200;i++){ //data[i].x = data[i].x+data[i].cX; // data[i].y = data[i].y+data[i].cY; data[i].x += data[i].cX; data[i].y += data[i].cY; //如果移动到屏幕左边 移动距离cx变成负数 //一行判断可以不用加大括号 紧跟在后边 if(data[i].x>w||data[i].x<0)data[i].cX = -data[i].cX; if(data[i].y>h||data[i].y<0)data[i].cY = -data[i].cY; Circle(data[i].x,data[i].y) for(var j=i+1;j<num;j++){ if((data[i].x-data[j].x)*(data[i].x-data[j].x) + (data[i].y-data[j].y)*(data[i].y-data[j].y)<=50*50){ Line(data[i].x,data[i].y,data[j].x,data[j].y); } } } window.requestAnimationFrame(draw); }(); //画线 知道两点的x,y左边 可以用勾股定理求出两点距离 //css3代替定时器的东西 //window.requestAnimationFrame(); //画线 //左上角(0,0) 右下角(canvas.width,canvas.height) //样式 //ctx.strokeStyle = 'pink'; //路径 //ctx.moveTo(0,0); //ctx.lineTo(w,h); //画 //ctx.stroke(); //画圆 //ctx.fillStyle = 'pink'; //ctx.strokeStyle = 'pink'; //圆心坐标x,y 半径 弧度 逆时针 //ctx.arc(100,100,50,0,2*Math.PI,true); //ctx.stroke(); //ctx.fill(); </script></html>
0 0
- canvas连线
- canvas连线
- canvas连线
- canvas动态的连线
- canvas 雪花连线
- Canvas线段终点和连线
- canvas实现粒子星空连线
- android下canvas连线题思路
- Android 画布Canvas之控件连线操作
- 连线游戏
- 硬连线
- 连线心得
- 电话连线
- 连线错误
- JsPlump连线
- Activiti连线
- 解开连线
- Canvas
- CCF交通规划C++版源码分享(201612-4)
- vc++ 线程和线程锁 (一)
- linux 查看进程打开的文件或文件对应的进程状态
- java for循环
- opencv函数之mixChannels
- canvas连线
- ie下时间格式的兼容问题
- 通俗易懂:一个三角恋让你明白什么叫网关、IP地址、DNS、MAC?
- Linux中的~/.profile,~/.bashrc,/etc/profile,/etc/bash.bashrc
- Hadoop YARN的工作流程
- 让TextView展示不同颜色字体,让局部字体拥有点击事件
- @RequestParam
- 时区的设置
- 游戏开发总结