动画反弹

*{

margin:0;

padding:0;

}

canvas1{

box-shadow: 0px 0px 10px red;

position: absolute;

left:50px;

top: 50px;

}

你的浏览器有待升级

//1.获取元素

var canvas = document.getElementById("canvas1");

//2.绘制环境

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

function round(x,y,r,color,speedx,speedy) {

this.x = x;

this.y = y;

this.r = r;

this.color = color;

this.speedx = speedx;

this.speedy = speedy;

//绘制

this.draw = function () {

context.beginPath();

context.fillStyle = this.color;

context.arc(this.x,this.y,this.r,0,Math.PI*2,true);

context.fill();

}

//动画

this.move = function () {

if(this.x>canvas.width-2*this.rthis.x-this.r<0){

this.speedx *= -1;//条件范围u内运动反弹

}

if(this.y>canvas.height-2*this.rthis.y-this.r<0){

this.speedy *= -1;

}

this.x += this.speedx;

this.y += this.speedy;

}

}

//许多球的绘制

var arr = [];

for(var i=0;i<333;i++){

var x = rand(30,470);

var y = rand(30,470);

var r = rand(7,22);

var speedx = rand(1,7);

var speedy = rand(2,8);

var color="rgb("+rand(0,255)+","+rand(0,255)+","+rand(0,255)+")";

var rounds = new round(x,y,r,color,speedx,speedy);

arr.push(rounds);

}

//得到了10个不同样式的小球,并将其存放在数组里

function ani() {

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

//将数组里的小球分别进行绘制在画布中

for(var i=0;i

arr[i].draw();

arr[i].move();

}

window.requestAnimationFrame(ani);//定时器也可以。在这里确保运动更流畅

}

ani();

//随机函数

function rand(min,max) {

return parseInt(Math.random()*(max-min)+min);

}

html跳动的小球,canvas绘制跳动的小球相关推荐

  1. canvas绘制七彩随机小球!

    canvas绘制七彩随机小球 1.题目 拿到一个案例,需要在画布上实现不同大小颜色位置的七彩小球,并且要运动起来! 2.思路 (1).第一步需要在页面上创建画布元素,创建一个数组用来存放随机小球的个数 ...

  2. matlab跳动的心脏,Matlab绘制跳动的心

    相信不少程序猿在情人节,被女票要求用程序语言编写表白程序.我参考网上的资料,用matlab编写了心跳的动画. 下图是网上流传的心形数学表达式: 我觉得最后一个表达式跟传统的心形是最像的,这个表达式是用 ...

  3. CSS3绘制跳动的橙子动画js特效

    下载地址 CSS3绘制跳动的橙子动画特效,两个跳动的橙子和切了一半滴着橙汗的橙子. dd:

  4. Canvas 绘制背景小球、与鼠标交互的小球

    canvas入门,跟随掘金小册如何使用 Canvas 制作出炫酷的网页背景特效学习,完成一个简单的 canvas demo 下面是代码,操作解释都有注释: <!DOCTYPE html> ...

  5. 用matlab绘制跳动的心

    用matlab绘制跳动的心(自学留存) https://blog.csdn.net/JasonTube/article/details/108206616?utm_medium=distribute. ...

  6. 纯JS实现小球在页面跳动/弹弹弹(有注释)

    小球在页面跳动 实现方法用了transform:translate(x,y); 即在当前位置进行移动,只需动态改变x和y的值就可以实现移动 点我查看页面效果(点击小球开始跳动) JS //获取div节 ...

  7. 使用 HTML5 Canvas 绘制出惊艳的水滴效果

    HTML5 在不久前正式成为推荐标准,标志着全新的 Web 时代已经来临.在众多 HTML5 特性中,Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在 HTML 上进行图形操作 ...

  8. html5绘制随机五角星_HTML5 canvas绘制五角星的方法

    这篇文章主要介绍了关于HTML5 canvas绘制五角星的方法,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 是HTML5中新增的标签,用于绘制图形,这篇文章主要为大家详细介绍了HTM ...

  9. python制作简单动画_Python tkinter Canvas绘制动画

    其实前面程序中的高亮显示已经是动画效果了.程序会用红色.黄色交替显示几何图形的边框,这样看上去就是动画效果了.实现其他动画效果也是这个原理,程序只要增加一个定时器,周期性地改变界面上图形项的颜色.大小 ...

最新文章

  1. 软件包管理 之 软件在线升级更新yum 图形工具介绍
  2. oracle11g导出dmp文件 少表,Oracle11g导出dmp并导入Oracle10g的操作记录
  3. bzoj#4423-[AMPPZ2013]Bytehattan【并查集】
  4. 选购工业交换机时,工业交换机的IP等级多少比较合适?
  5. [原创]C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件
  6. c# out关键字 vb_c# 关键字:ref 和 out
  7. wordpress php 链接,简介WordPress中用于获取首页和站点链接的PHP函数_PHP
  8. nfine配置oracle,nfine去后门版和数据库说明
  9. mysql 最大长度_mysql VARCHAR的最大长度到底是多少
  10. 极客大学产品经理训练营:数据分析与用户数据 第17课总结
  11. Apple Watch简述
  12. WIN10如何进入BIOS界面
  13. android adb pull 文件夹,android – 我如何adb拉SD文件夹中的所有文件
  14. 感性负载对电源的影响有多大?
  15. shell基础---exit用法
  16. JavaScript用Math.asin()求反正弦值
  17. java-大数据-精品课程目录(超级全)
  18. python日历下拉框_c#教程之C#日历样式的下拉式计算器实例讲解
  19. 2021-2027全球及中国401(k)软件行业研究及十四五规划分析报告
  20. 计算机操作员中级上机,计算机操作员中级上机(范文).doc

热门文章

  1. Oracle 19.6 的有趣BUG:可能引发 CLOB 存储数据的丢失
  2. 深入理解MySQL8.0直方图
  3. 升级更新:Oracle关于DB Link在2019年升级的10g版本兼容性
  4. 一篇文章带你读懂 MySQL 和 InnoDB
  5. 【华为云技术分享】使用CloudIDE快速体验基于华为云ModelArts SDK的AI开发
  6. 分布式缓存Redis应用场景解析
  7. DevOps on DevCloud|代码检查服务如何降低“Billion Dollar Mistake” NPE风险
  8. ServiceComb java-chassis和CSE java-chassis的区别
  9. mysql empty table_【MySQL】 empty table and delete table.
  10. 贵阳龙里计算机培训,贵州省龙里中等职业学校机械加工技术专业