java喷泉编码_好程序员Java教程分享使用JS实现简单喷泉效果

原标题:好程序员Java教程分享使用JS实现简单喷泉效果

好程序员Java教程分享使用JS实现简单喷泉效果,最近,在教学生使用JS的基本操作,为了练习JS的基本作用,特地写了一个喷泉效果,代码如下:

页面代码:

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

body{

margin: 0px;

}

Particle.js代码如下:

window. = function(){

// 创建一个画布对象

var canvas = document.("canvas");

// 设置大小和颜色

canvas.width = window.innerWidth;

canvas.height = window.innerHeight;

canvas.style.backgroundColor = "#333333";

// 将画布放置到body里

document.body.(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[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();

};

}

责任编辑:

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

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

相关文章

python 类继承 父类初始化_python之子类继承父类时进行初始化的一些问题

直接看代码&#xff1a;classPerson:def __init__(self):self.name "jack"classStudent(Person):def __init__(self):self.school "一中"stuStudent()print("学生的姓名是:",stu.name)此时&#xff0c;程序是不能正常运行的&#xff0c;运行之后…

『WPF』实现拖动文件到窗体(控件)

前言 实现从窗口外部拖文件到窗口内部并自动捕获文件地址。 第一步 开启属性 启用底层Window的AllowDrop属性&#xff0c;添加Drop事件。 Drop事件&#xff1a;当你拖动文件到对应控件后&#xff0c;松开触发。 除Drop事件外&#xff0c;我们还可以使用DragEnter、DragOver、Dr…

怎么更改苹果账户名称_番茄todo小组件背景怎么改 苹果番茄todo小组件背景更改方法介绍...

番茄todo小组件背景怎么改&#xff0c;这也是大家会用到的一款倒计时APP&#xff0c;那么用户们应该怎么更改小组件的背景图片呢&#xff0c;可能还有些人不知道更改的方法。所以这里就为大家带来了具体的步骤!番茄todo小组件背景怎么改1.在打开APP后&#xff0c;如没有待办事项…

LeetCode 1786. 从第一个节点出发到最后一个节点的受限路径数(迪杰斯特拉 + 拓扑排序)

文章目录1. 题目2. 解题1. 题目 现有一个加权无向连通图。 给你一个正整数 n &#xff0c;表示图中有 n 个节点&#xff0c;并按从 1 到 n 给节点编号&#xff1b;另给你一个数组 edges &#xff0c;其中每个 edges[i] [ui, vi, weighti] 表示存在一条位于节点 ui 和 vi 之间…

java选择题多选题系统小程序_单选题与多选题判断得分(自动考试小程序,入门级)...

【单选题与多选题判断得分】【核心代码】using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 自动…

用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

如何用Python打开realsenseD435相机import pyrealsense2 as rsimport numpy as npimport cv2if __name__ "__main__":# Configure depth and color streamspipeline rs.pipeline()config rs.config()config.enable_device_from_file("666.bag")#这是打开…

Sicily-1063

一&#xff0e;题意 一个员工是另外一个员工的老板必须满足的条件是作为老板的员工的薪水salary必须大于这个员工&#xff0c;而且作为老板的员工的身高height要大于等于这个员工。首先按照薪水的多少从小到大进行排序&#xff0c;然后找每一个员工的直属老板。注意老板的下属的…

流畅的Python 1. Python数据模型(特殊方法 __func__())

文章目录1. __getitem__()、__len__() 方法2. 特殊方法1. __getitem__()、__len__() 方法 举一个扑克牌的例子 import collectionsCard collections.namedtuple(Card_name, [rank, suit]) print(Card.__doc__) # Card_name(rank, suit)class FrenchDeck:ranks [str(n) for …

diskfileitemfactory 需要的包_浅析电动汽车电池包低压线束设计及制造

点击上方右侧“EDC电驱未来”可订阅哦&#xff01;般的电池包低压线束承载着模组通信、模组采样和电池管理等功能。电池包低压线束一般分为模组通信线束、模组采样线束、BMS线束等。这里结合实际工作中的经历和遇到的困扰&#xff0c;主要分析和探讨SUV纯电动汽车电池包低压线束…

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

[顶]ORACLE PL/SQL编程详解之二&#xff1a;PL/SQL块结构和组成元素(为山九仞&#xff0c;岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二&#xff1a;PL/SQL块结构和组成元素(为山九仞&#xff0c;岂一日之功)[顶]ORACLE PL/SQL编程详解之二&#xff1a; PL/SQL块结构和组成…

xgboost实例_XGBoost超详细推导,终于有人讲明白了!

- XGB中树结点分裂的依据是什么&#xff1f;- 如何计算树节点的权值&#xff1f;- 为防止过拟合&#xff0c;XGB做了哪些改进&#xff1f;相信看到这篇文章的各位对XGBoost都不陌生&#xff0c;的确&#xff0c;XGBoost不仅是各大数据科学比赛的必杀武器&#xff0c;在实际工作…

修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像

1)摘自【正点原子】领航者 ZYNQ 之linux驱动开发指南2)实验平台&#xff1a;正点原子领航者ZYNQ开发板3)平台购买地址&#xff1a;https://item.taobao.com/item.htm?&id6061601087614)全套实验源码手册视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.ht…

流畅的Python 2. 数据结构 - 序列构成的数组

文章目录1. 内置序列2. 列表推导 []、生成器() 表达式3. 元组 tuple4. 切片5. , * 操作6. 增量赋值7. 排序8. bisect管理已排序序列8.1 用 bisect.bisect 二分搜索8.2 用 bisect.insort 二分插入新元素9. 列表的替代9.1 数组9.2 内存视图9.3 NumPy、SciPy9.4 队列1. 内置序列 …

python1到n的所有排列_非递归输出1-N的全排列的方法详解

下面小编就为大家带来一篇非递归的输出1-N的全排列实例(推荐)。小编觉得挺不错的&#xff0c;现在就分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧网易游戏笔试题算法题之一&#xff0c;可以用C,Java,Python&#xff0c;由于Python代码量较小&#xff0c;于…

动态规划算法实验报告_强化学习之动态规划算法

如今的强化学习研究大体分为了两个研究学派&#xff1a;一个是以Sutton&#xff0c;Sliver等人为代表的value-based学派&#xff0c;他们主要从值函数近似角度入手去研究强化学习&#xff0c;这也是强化学习早期最初发展起来时沿用的路线&#xff1b;第二个是以伯克利Sergey Le…

C语言中的字节对齐以及其相关处理

首先&#xff0c;我们来了解下一些基本原理&#xff1a; 一、什么是字节对齐一个基本类型的变量在内存中占用n个字节,则该变量的起始地址必须能够被n整除,即: 存放起始地址 % n 0,那么,就成该变量是字节对齐的;对于结构体、联合体而言,这个n取其所有基本类型的成员中占用空间字…

python3.7.1使用_在不影响使用python3.7.1的功能的情况下,是否可以从python代码中删除所有的ufuture_uu语句?...

您可以在不影响功能的情况下删除那些__future__导入&#xff0c;但是删除它们不是必需的&#xff0c;并且会停止与早期python版本的兼容性。在此外&#xff0c;正如deceze在评论中所暗示的那样&#xff0c;其他进口商品可能有所不同。例如&#xff0c;from __future__ import a…

hadoop 多机全分布式安装步骤(虚拟机1master+2slave)

文章目录1. 虚拟机安装Centos72. 配置静态IP3. 更改主机名4. 编辑域名映射5. 安装配置Java6. 配置SSH免密登录7 .安装Hadoop8. 关闭防火墙9. 格式化文件系统10. 启动验证11. 第一个MapReduce程序: WordCount12. 关闭Hadoop参考书&#xff1a;《Hadoop大数据原理与应用》1. 虚拟…

ie浏览器模拟器_航空飞机模拟器安卓版下载-航空飞机模拟器游戏下载

3D建模射击&#xff0c;真实的飞行世界&#xff0c;在航空飞机模拟器游戏中玩家将化身为飞行员&#xff0c;这里的飞机类型非常齐全&#xff0c;每一辆都要熟练操作&#xff0c;最大程度还原了飞行员最真实的驾驶场景&#xff0c;完成任务获得奖励还能提高它的性能哦&#xff0…

npm安装vue_vue搭建脚手架的方式

基于window系统整理的vue脚手架npm、yarn安装方法&#xff0c;记得网络一定要好先说npm的安装方法先在需要创建项目的文件夹下打开终端&#xff0c;如果没有node可以先去官网下载&#xff0c;然后一路next&#xff0c;就OK&#xff0c;记得看清楚电脑操作系统是64还是32&#x…