iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript+canvas实现框内跳动小球
  • 315
分享到

JavaScript+canvas实现框内跳动小球

2024-04-02 19:04:59 315人浏览 泡泡鱼
摘要

本文实例为大家分享了javascript+canvas实现框内跳动小球的具体代码,供大家参考,具体内容如下 效果如下: 思路: 1.制定画布,确定好坐标2.绘制出圆形小球3.给圆一

本文实例为大家分享了javascript+canvas实现框内跳动小球的具体代码,供大家参考,具体内容如下

效果如下:

思路:

1.制定画布,确定好坐标
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" style="border:1px solid #aaa;display:block;margin: 50px auto;">
    当前浏览器不支持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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JavaScript+canvas实现框内跳动小球

本文链接: https://www.lsjlt.com/news/145733.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • JavaScript+canvas实现框内跳动小球
    本文实例为大家分享了JavaScript+canvas实现框内跳动小球的具体代码,供大家参考,具体内容如下 效果如下: 思路: 1.制定画布,确定好坐标2.绘制出圆形小球3.给圆一...
    99+
    2024-04-02
  • JavaScript+canvas怎么实现框内跳动小球
    本篇内容主要讲解“JavaScript+canvas怎么实现框内跳动小球”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript+canvas怎么实现框内跳动小球”吧!效果如下:思路:...
    99+
    2023-06-30
  • JavaScript canvas实现水球加载动画
    本文实例为大家分享了canvas实现水球加载动画的具体代码,供大家参考,具体内容如下 效果展示: 源码展示: <!doctype html> <html> ...
    99+
    2024-04-02
  • C语言实现弹跳小球动画
    目录一、项目描述和最终成果展示二、实现一个移动的球三、弹跳一个小球四、弹跳一个小球(改进版)五、多个球碰撞六、多个球碰撞(升级版)本文实例为大家分享了C语言实现弹跳小球动画的具体代码...
    99+
    2024-04-02
  • JavaScript结合Canvas绘画画运动小球
    目录1.实现思路2.静态效果3.总结前言: canvas是HTML5新增的元素,也被称为画布,可以结合javascript实现绘制各种图形,制作各种炫酷的动画效果,现在我们也来使用c...
    99+
    2024-04-02
  • JavaScript canvas怎么实现水球加载动画
    这篇文章主要讲解了“JavaScript canvas怎么实现水球加载动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript canvas怎么实现水球加载...
    99+
    2023-06-30
  • CSS3如何实现弹跳的小球动画
    小编给大家分享一下CSS3如何实现弹跳的小球动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!这个案例关键点在于小球弹跳的节奏感和布局定位。一、案例知识点相对和绝...
    99+
    2023-06-08
  • canvas如何实现小球和鼠标的互动
    小编给大家分享一下canvas如何实现小球和鼠标的互动,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!<!DOCTYPE html><html ><head&g...
    99+
    2024-04-02
  • C语言如何实现弹跳小球动画
    这篇文章主要介绍了C语言如何实现弹跳小球动画的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言如何实现弹跳小球动画文章都会有所收获,下面我们一起来看看吧。一、项目描述和最终成果展示项目描述:  一个...
    99+
    2023-06-30
  • JavaScript结合Canvas如何绘画画运动小球
    这篇文章给大家分享的是有关JavaScript结合Canvas如何绘画画运动小球的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.实现思路首先为了达到我们想要的效果,可以先创建一个构造函数。给构造函数添加对应的属...
    99+
    2023-06-29
  • JavaScript+Canvas实现带跳动效果的粒子动画
    目录前言实现过程运行效果总结前言 用 HTML5 的 Canvas 元素实现一个带有跳动效果的粒子动画。会用到 Canvas 的2D渲染上下文,通过 JavaScript 编写绘图代...
    99+
    2023-03-14
    JavaScript Canvas实现粒子动画 Canvas粒子动画 JavaScript Canvas
  • 原生js实现弹跳小球
    突发奇想,写了个小球来回弹跳的案例,供大家参考,具体内容如下 主要就是利用了margin-left / top 值进行位移,当然,也可以使用定位去做。 本案例所用到的有: ...
    99+
    2024-04-02
  • html5实现弹跳球小游戏
    这篇文章主要介绍“html5实现弹跳球小游戏”,在日常操作中,相信很多人在html5实现弹跳球小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5实现弹跳球小游戏”...
    99+
    2024-04-02
  • JavaScript仿小米实现球体分解动画
    目录演示技术栈源码演示 用过小米手机的应该见过这个动画 它这个球体会随着垃圾的清理被例子画分解 随着这个思路我们给他改造一下实现这种效果 技术栈 首先我们使用了一些好用的js脚本...
    99+
    2024-04-02
  • C语言实现弹跳小球项目
    目录一、项目描述和最终项目展示二、输出一个小球三、下落的小球四、来回弹跳的小球五、最终项目实现本文实例为大家分享了C语言实现弹跳小球项的具体代码,供大家参考,具体内容如下 一、项目描...
    99+
    2024-04-02
  • C语言实现简单弹跳小球
    本文实例为大家分享了C语言实现简单弹跳小球的具体代码,供大家参考,具体内容如下 本节利用 printf 函数 实现一个在屏幕上弹跳的小球,内容简单容易入门,这也是以后我们在设计更多游...
    99+
    2024-04-02
  • 怎么使用JS+Canvas实现接球小游戏
    本篇内容介绍了“怎么使用JS+Canvas实现接球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!成果展示实现思路这里我们采用疑问的句式...
    99+
    2023-07-02
  • 怎么使用JavaScript+Canvas实现带跳动效果的粒子动画
    这篇“怎么使用JavaScript+Canvas实现带跳动效果的粒子动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使...
    99+
    2023-07-05
  • JavaScript仿小米如何实现球体分解动画
    这篇文章主要讲解了“JavaScript仿小米如何实现球体分解动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript仿小米如何实现球体分解动画”吧!演示用过小米手机的应该见过...
    99+
    2023-07-02
  • css怎么实现弹跳球动画效果
    小编给大家分享一下css怎么实现弹跳球动画效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   1、定义动画关键帧   对...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作