我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JavaScript+canvas怎么实现框内跳动小球

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JavaScript+canvas怎么实现框内跳动小球

本篇内容主要讲解“JavaScript+canvas怎么实现框内跳动小球”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript+canvas怎么实现框内跳动小球”吧!

效果如下:

JavaScript+canvas怎么实现框内跳动小球

思路:

制定画布,确定好坐标
2.绘制出圆形小球
3.给圆一个原始坐标,xy轴的速度
4.每20毫秒刷新一次,达到变化的目的
5.判断边缘

全部代码及释义如下:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>Document</title></head><body>  <canvas id="canvas" >    当前浏览器不支持canvas,请更新浏览器或者升级浏览器后再试  </canvas>  <script>    // x: 小球原始x坐标,y: 小球原始y坐标, r: 小球半径, vx: x轴速度,vy: y轴的速度 (速度都以向量表示,所以可为负数)    var ball = { x: 512, y: 100, r: 20, vx: -8, vy: 8, color: '#005588' }    window.onload = function () {      var canvas = document.getElementById("canvas");      // 制定canvas画布的大小      canvas.width = 860;      canvas.height = 600;      // 判断浏览器是否支持canvas      if (canvas.getContext("2d")) {        // 下面所有调用的函数都是基于context这个上下文环境来进行的        var context = canvas.getContext("2d");        setInterval(() => {          render(context)          update()        }, 20);      } else {        alert("当前浏览器不支持canvas,请更新浏览器或者升级浏览器后再试");      }    };    //十六进制颜色随机    function color16() {      var r = Math.floor(Math.random() * 256);      var g = Math.floor(Math.random() * 256);      var b = Math.floor(Math.random() * 256);      var color = '#' + r.toString(16) + g.toString(16) + b.toString(16);      return color;    }    // 小球的坐标的刷新    function update() {      ball.x += ball.vx // x轴坐标 vx是x轴的速度,匀速增加      ball.y += ball.vy  // y轴坐标 由于g的原因,速度是匀变速            // 触底的条件      if (ball.y >= canvas.height - ball.r) {        ball.color = color16()        ball.y = canvas.height - ball.r    // 触下底        ball.vy = -ball.vy      } else if (ball.x <= ball.r) {        ball.color = color16()        ball.x = ball.r // 触左        ball.vx = -ball.vx      } else if (ball.x >= canvas.width - ball.r) {        ball.color = color16()        ball.x = canvas.width - ball.r  // 触右        ball.vx = - ball.vx      } else if (ball.y <= ball.r) {        ball.color = color16()        ball.y = ball.r   // 触上        ball.vy = -ball.vy      }    }    // 绘制圆形小球    function render(cxt) {      // 利用clearRect,清空画布      cxt.clearRect(0, 0, cxt.canvas.width, cxt.canvas.height)      cxt.fillStyle = ball.color      cxt.beginPath()      //context.arc(圆心横坐标, 原型纵坐标, 半径的长度,绘制的起点, 绘制的终点)      cxt.arc(ball.x, ball.y, ball.r, 0, 2 * Math.PI)      cxt.closePath()      cxt.fill()    }  </script></body></html>

到此,相信大家对“JavaScript+canvas怎么实现框内跳动小球”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JavaScript+canvas怎么实现框内跳动小球

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript+canvas怎么实现框内跳动小球

本篇内容主要讲解“JavaScript+canvas怎么实现框内跳动小球”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript+canvas怎么实现框内跳动小球”吧!效果如下:思路:
2023-06-30

JavaScript canvas怎么实现水球加载动画

这篇文章主要讲解了“JavaScript canvas怎么实现水球加载动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript canvas怎么实现水球加载动画”吧!效果展示:
2023-06-30

怎么使用JS+Canvas实现接球小游戏

本篇内容介绍了“怎么使用JS+Canvas实现接球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成果展示实现思路这里我们采用疑问的句式
2023-07-02

怎么使用JavaScript+Canvas实现带跳动效果的粒子动画

这篇“怎么使用JavaScript+Canvas实现带跳动效果的粒子动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使
2023-07-05

C语言怎么实现弹跳小球效果

本文小编为大家详细介绍“C语言怎么实现弹跳小球效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么实现弹跳小球效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、项目描述和最终项目展示项目描述:
2023-06-30

C语言怎么实现简单弹跳小球

C语言可以通过使用图形库来实现简单的弹跳小球效果。首先,需要安装并使用一个图形库,比如Graphics.h。下面是一个简单的示例代码:```c#include int main() {int gd = DETECT, gm;initgrap
2023-08-18

原生js怎么实现弹动小球效果

这篇文章主要介绍了原生js怎么实现弹动小球效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇原生js怎么实现弹动小球效果文章都会有所收获,下面我们一起来看看吧。效果如下源码展示
2023-06-30

Android怎么实现小球自由碰撞动画

这篇文章主要介绍“Android怎么实现小球自由碰撞动画”,在日常操作中,相信很多人在Android怎么实现小球自由碰撞动画问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Android怎么实现小球自由碰撞动画
2023-06-22

vue怎么实现购物车小球动画效果

这篇文章主要介绍“vue怎么实现购物车小球动画效果”,在日常操作中,相信很多人在vue怎么实现购物车小球动画效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue怎么实现购物车小球动画效果”的疑惑有所帮助!
2023-07-04

JavaScript怎么实现可动的canvas环形进度条

这篇文章主要介绍“JavaScript怎么实现可动的canvas环形进度条”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript怎么实现可动的canvas环形进度条”文章能帮助大家解决问
2023-06-29

使用canvas怎么实现文本内容自动换行

本篇文章为大家展示了使用canvas怎么实现文本内容自动换行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ctx: 画布的上下文环境content: 需要绘制的文本内容drawX: 绘制文本的x坐标
2023-06-09

微信小程序canvas区间滑动选取怎么实现

这篇文章主要介绍“微信小程序canvas区间滑动选取怎么实现”,在日常操作中,相信很多人在微信小程序canvas区间滑动选取怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序canvas区间滑动
2023-06-26

怎么在JavaScript中利用canvas实现一个圆形流水动画

这篇文章将为大家详细讲解有关怎么在JavaScript中利用canvas实现一个圆形流水动画,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。JavaScript的特点1.JavaScript主
2023-06-14

javascript下拉框动态加载数据怎么实现

可以使用Ajax技术来实现JavaScript下拉框动态加载数据。步骤如下:1. 定义一个下拉框元素,例如:```html```2. 使用JavaScript代码获取该下拉框元素,并定义一个函数来动态加载数据,例如:```javascrip
2023-05-30

JavaScript实现拖动模态框的代码怎么写

这篇文章主要介绍“JavaScript实现拖动模态框的代码怎么写”,在日常操作中,相信很多人在JavaScript实现拖动模态框的代码怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript实
2023-07-02

javascript怎么实现悬浮跟随框缓动效果

今天小编给大家分享一下javascript怎么实现悬浮跟随框缓动效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、定义一
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录