情人节送给粉丝的礼物


怦然心动

今天是七夕,一个牛郎和织女鹊桥相会的日子。 还有他们的孩子也跟他们在一起。

感谢你们一直陪伴至今,我不善于表达,我对你们的感激都在这张画布里。

代码不算多,特效也很一般,往后的日子全力以赴发表优秀文章,愿你们web学习一帆风顺,所向披靡。

把东坡居士的祝愿送给你们:;

愿你们“但愿人长久,千里共婵娟”;

愿你们“春宵一刻值千金,花有清香月有阴”;

愿你们“鸳鸯被里成叠夜,一树梨花压海棠”;

情人节送给粉丝的礼物

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>砰砰砰</title>
<style>
body {
background: #000800;
}
canvas {
margin: 0 auto;
display: block;
}
</style>
</head>
<body>
<canvas></canvas>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';color:#ffffff">
</body>
<script>
let canvas = document.querySelector('canvas'),
speedSelect = document.querySelector('#speed'),
width = 300,
height = 300,
ctx = canvas.getContext('2d'),
pSystemSize = 1000,
deform = {a:100, s:0.4, min:-200, max:200, dir:1}; // a=4 is natural if not animated;

const mcos = Math.cos,
msin = Math.sin,
mpow = Math.pow,
PI180=Math.PI / 180,
tau = Math.PI * 2;

canvas.width = width;
canvas.height = height;
ctx.lineWidth = 1;

const ParticleSystem = function(num){
this.scalar = 8;
this.numParticles = num;
this.allParticles = [];
this.x = width * .5;
this.y = height * .5;
this.generate();
}
ParticleSystem.prototype.generate = function(){
for(let i=0; i<this.numParticles; i++){
let vo = {};
vo.degrees = (360 / this.numParticles) * i * PI180;
vo.parent = this;
vo.x = width / 2;
vo.y = height / 2;
vo.vx = 0;
vo.vy = 0;
this.allParticles.push(new Particle(vo));
}
}
ParticleSystem.prototype.update = function(){
for(let i=0; i<this.allParticles.length; i++){
this.allParticles[i].update();
}
}

const Particle = function(vo){
this.degrees = vo.degrees;
this.parent = vo.parent;
this.x = vo.x;
this.y = vo.y;
this.vx = 0;
this.vy = 0;
this.colour = 'hsl(' + (Math.round((this.degrees * (180/Math.PI)))) + ',100%,50%)';
}
Particle.prototype.update = function(){
// http://mathworld.wolfram.com/HeartCurve.html
this.vx = 16 * mpow(msin(this.degrees), 3) * deform.dir;
this.vy = ((13 * mcos(this.degrees)) -
(6 * mcos(2 * this.degrees)) - // 5
(2 * mcos(3 * this.degrees)) -
(mcos(deform.a * this.degrees))) * -1;

// update position
this.x = this.vx * this.parent.scalar + this.parent.x;
this.y = this.vy * this.parent.scalar + this.parent.y;
}

function update(){
if(deform.dir === 1){
if(deform.a > deform.min){
deform.a -= deform.s;
}
else{
flipDirection();
}
}
else{
if(deform.a < deform.max){
deform.a += deform.s;
}
else{
flipDirection();
}
}
system.update();
}
function flipDirection(){
deform.dir *= -1;
}

function draw(){
ctx.clearRect(0, 0, width, height);
ctx.save();
for(let i=0; i<system.numParticles; i++){
let p = system.allParticles[i];
ctx.fillStyle = p.colour;
ctx.beginPath();
ctx.arc(p.x, p.y, 1, 0, tau, false);
ctx.fill();
}
ctx.restore();
}
function animate(){
update();
draw();
requestAnimationFrame(animate);
}
let system = new ParticleSystem(pSystemSize);
animate();
</script>
</html>

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

情人节送给粉丝的礼物

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 情人节送给粉丝的礼物
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏