html 跟随鼠标移动线条,canvas跟随鼠标移动的随机线条

/** @type {HTMLCanvasElement} */

let canvas = document.querySelector('#canvas');

let cxt = canvas.getContext('2d');

let w = canvas.width = window.innerWidth;

let h = canvas.height = window.innerHeight;

mousePosition = {

x: Number,

y: Number

}

//随机颜色

function ranColor() {

return '#' + Math.floor(Math.random() * 16777215).toString(16);

}

window.addEventListener('resize', () => {

w = canvas.width = window.innerWidth;

h = canvas.height = window.innerHeight;

init();

});

window.addEventListener('mousemove', e => {

mousePosition.x = e.clientX;

mousePosition.y = e.clientY;

});

function Ball(x, y, r, color) {

this.x = x;

this.y = y;

this.r = r;

this.color = color;

this.draw = lastPosition => {

cxt.beginPath();

cxt.moveTo(lastPosition.lx, lastPosition.ly);

cxt.lineTo(this.x, this.y);

cxt.lineWidth = 3;

cxt.strokeStyle = this.color;

cxt.stroke();

}

this.update = () => {

//鼠标旧位置

let lastPosition = {

lx: this.x,

ly: this.y

};

this.x = mousePosition.x;

this.y = mousePosition.y;

this.draw(lastPosition);

}

}

let ball;

function init() {

ball = new Ball(w / 2, h / 2, 20, ranColor());

}

function animate() {

requestAnimationFrame(animate);

cxt.fillStyle = 'rgba(0,0,0,0.1)';

cxt.fillRect(0, 0, w, h);

ball.update();

}

init();

animate();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go 优秀文档

go语言资料汇总 : https://blog.zhnytech.com/articles/2016/07/15/Golang%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99%E6%94%B6%E9%9B%86.html github资料基础:https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/directory.md k8s国外镜像 …

Python 程序 运行过程

一. Python 解释器 Python 是一门编程语言,同时也是一个解释器的软件包。 解释器是一种让其他程序运行起来的程序。 当你编写了一段Python 程序,Python 解释器将读取程序,并按照其中的命令执行,得出结果。解释器是代码与计算机硬…

[html] 在H5中如何预加载音频?

[html] 在H5中如何预加载音频? audio标签默认会预加载个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

H5|web移动前端自适应适配布局解决方案

方案: 固定一个某些宽度,使用一个模式,加上少许的媒体查询方案使用flexbox解决方案使用百分比加媒体查询使用rem1. 简单问题简单解决 我觉得有些web app并一定很复杂,比如拉勾网,你看看它的页面在iphone4,iphone6,ipad…

[转] 用Diff和Patch工具维护源码

在Unix系统下,维护源码版本可以使用很多方法,其中最常用的当然是大名鼎鼎的CVS,但实际上,简单的版本维护工作并没有必要使用复杂的CVS等专门的版本维护工具,Unix标配中的diff和patch工具就完全可以完成代码的简单备份和…

[html] 当页面中使用application/xhtml+xml会出现什么问题吗?

[html] 当页面中使用application/xhtmlxml会出现什么问题吗? 要求比较严格,必须有head、body标签且每个元素必须是关闭的。一些老的浏览器不支持,实际上,任何最新的浏览器都将支持application/xhtmlxml媒体类型。大多数浏览器也接…

html5 本地保存大数据库,HTML5本地储存 - jellydd的个人空间 - OSCHINA - 中文开源技术交流社区...

传统方式我们用document.cookie来储存,但是储存大小较小,而且解析复杂,HTML5提出新的解决方案,使用sessionStorage和localStorage存储数据。localStorage:1. 永久生效2. 多窗口共享3. 容量大约为20M◆window.localStor…

[html] H5的Web Storage带来什么好处?

[html] H5的Web Storage带来什么好处? 存储的数据量更大,可以达到 5M;减少不必要的数据请求,不会自动把数据发送给服务器localStorage 可以把数据永久保存在本地,除非显示的清除或删除数据支持事件通知机制API 更加方便…

「BZOJ2654」tree

「BZOJ2654」tree 最小生成树二分答案。 最开始并没有觉得可以二分答案,因为答案并不单调啊。 其实根据题意,白边的数目肯定大于need条,而最小生成树的白边数并不等于need(废话),可以二分将每条白边的权值m…

jQuery 结合 Json 提交数据到Webservice,并接收从Webservice返回的Json数据

简单的Json数据提交 jQuery ajax webservice:get 和 post 一、GET 方式客户端代码vardata { classCode: "0001"}; //这里要直接使用JOSN对象$.ajax({ type: "GET", contentType: "application/json; chars…

html服务器框架,一种类似http/html的分布式GUI程序设计框架

笔者构想了一种类似http/html的分布式GUI程序设计框架,适用于WIndows、桌面Linux、Mac OS以及C,Java,Python等多种支持GUI编程的程序设计系统。但是对于手机小屏幕,可能不合适。本系统包括窗口描述规则;gui.exe -- 一个命令行程序…

X86逆向教程10:学会使用硬件断点

本节课我们将学习硬件断点的使用技巧,硬件断点是由硬件提供给我们的一组寄存器,我们可以对这些硬件寄存器设置相应的值,然后让硬件帮我们断在需要下断点的地址上面,这就是硬件断点,硬件断点依赖于寄存器,这…

PHP获取IP的多种方式解析

转自:http://developer.51cto.com/art/200911/164514.htm PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。 PHP获取IP方…

html 监控键盘,后台监控鼠标和键盘(可监听全局的鼠标以及键盘按键)

资源下载此资源下载价格为3D币,请先登录资源文件列表MouseKeyboardLibrary/MouseKeyboardLibrary/app.config , 134MouseKeyboardLibrary/MouseKeyboardLibrary/bin/Debug/MouseKeyboardLibrary.exe , 23040MouseKeyboardLibrary/MouseKeyboardLibrary/bin/Debug/Mo…

SQL优化34条

我们要做到不但会写SQL,还要做到写出性能优良的SQL,以下为笔者学习、摘录、并汇总部分资料与大家分享!(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名&#xff…

POJ 3258 River Hopscotch

题目链接:https://vjudge.net/problem/POJ-3258 题目大意 给定数轴上一个起点 0,终点 L,以及中间 N 个不同的点,现准备删除中间 N 个点中的 M 个,使得剩下来的点(包括起点和终点),相…

2021泉州高考学校成绩查询,2021泉州市地区高考成绩排名查询,泉州市高考各高中成绩喜报榜单...

距离2018年高考还有不到一个月的时间了,很多人在准备最后冲刺的同时,也在关心高考成绩。2018各地区高考成绩排名查询,高考各高中成绩喜报榜单尚未公布,下面是往年各地区高考成绩排名查询,高考各高中成绩喜报榜单,想要了解同学可以…

转载:CEO如何“养好CIO同时管好CIO”?

http://www.enet.com.cn/article/2010/1214/A20101214800028.shtml 在现代企业经营理论中,有个着名的“二八定律”,即人才对企业贡献而言,常常是20%的人做出了80%的企业效益。显而易见,这“20%”就是企业的骨干与核心。而这“20%”…

PL/SQL中模拟EBS上下文

有时,我们需要查询的表或视图,是具有OU屏蔽的,这时我们就需要模拟EBS中的上下文来实现查询数据。 BEGIN fnd_global.apps_initialize(user_id >1,resp_id > 2,resp_appl_id >3); mo_global.init(ONT); END; 上述参数的获取&#xff…

[html] 一般习惯把js写在</body>前,但有例外的情况吗?说说看

[html] 一般习惯把js写在前,但有例外的情况吗?说说看 js的放置位置有三种: (1)放在head标签内 (2)放在body标签内 (3)外部script个人简介 我是歌谣,欢迎和大…