绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
使用JS实现简单喷泉效果
2019-07-04 16:10:46

近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下:

页面代码:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script src="js/particle.js" type="text/javascript" charset="utf-8"></script>

<style type="text/css">

body{

margin: 0px;

}

</style>

</head>

<body>

</body>

</html>


Particle.js代码如下:

window.onload = function(){

// 创建一个画布对象

var canvas = document.createElement("canvas");

// 设置大小和颜色

canvas.width = window.innerWidth;

canvas.height = window.innerHeight;

canvas.style.backgroundColor = "#333333";

// 将画布放置到body里

document.body.appendChild(canvas);

// 得到画笔

var context = canvas.getContext("2d");

// 定义一个存放所有粒子的数组

var particles = [ ];


// 调用显示粒子

showParticle();


// 创建并显示粒子的方法

function showParticle(){

// 循环操作

setInterval(function(){

// 清空画布

context.clearRect(0,0,canvas.width, canvas.height);

// 创建粒子

var p = new Particle(canvas.width * 0.5, canvas.height * 0.5);

// 将粒子装入存放粒子的数组

particles.push(p);

// 循环更新所有粒子的位置

for (var i = 0;i<particles.length;i++) {

// 更新位置

particles[i].updateData();

}

}, 50);

}


function Particle(x, y){

// 原坐标

this.x = x;

this.y = y;

// 初始出现的改变的y的值

this.yVal = -5;

// 改变的x的值

this.xVal = Math.random() * 8 - 4;

// 定义一个下降的重力加速度

this.g = 0.1;

// 更新位置

this.updateData = function(){

// X值的变化

this.x = this.x + this.xVal;

// Y值的变化

this.y = this.y + this.yVal;

// 每次改变Y值速度的变化

this.yVal = this.yVal + this.g;

// 生成一个随机颜色

context.fillStyle = "#" + Math.floor(Math.random() * 0xffffff).toString(16);

// 将更新位置后的圆绘制出来

this.draw();

};


// 绘图的方法

this.draw = function(){

// 开始画图

context.beginPath();

// 画圆

context.arc(this.x, this.y,5,0,Math.PI * 2, false);

// 结束画图

context.closePath();

// 填充

context.fill();

};

}

};

分享好友

分享这个小栈给你的朋友们,一起进步吧。

Spring Boot
创建时间:2020-06-22 17:22:00
SpringBoot是由Pivotal团队在2013年开始研发、2014年4月发布个版本的全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • duanhao
    栈主

小栈成员

查看更多
  • ?
  • zander
  • 凉茶cooltea
戳我,来吐槽~