您的位置:首页 > 编程语言 > Java开发

深圳Java培训:使用JS实现简单喷泉效果

2019-07-08 15:36 477 查看

深圳Java培训:使用JS实现简单喷泉效果

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

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();
};
}

};

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: