canvans鼠标小球

canvas鼠标小球

熟悉es6特性练习,使用canvas绘制鼠标移动小球特效效果如图
在这里插入图片描述

实现过程

1.首先先定义一个canvas,设定canvas的样式和大小

  <style>
    #canvas {
      margin: 20px auto;
      background: #000;
      display: block;
    }
  </style>
<canvas id="canvas">当前浏览器不支持此版本</canvas>

2.获取画板

  const canvas = document.getElementById('canvas');
  const ctx = canvas.getContext('2d');
  canvas.width = 800;
  canvas.height = 450;
  canvas.backgoundColor = '#999';

3.设置想要绘制小球的原型及相关方法

class Ball {
    constructor(x, y, color) {
      this.x = x;
      this.y = y;
      this.color = color;
      this.r = 30;
    }

    // 绘制
     
    render() {
      ctx.save();
      ctx.beginPath();
      ctx.arc(this.x, this.y, this.r, 0, Math.PI * 2)
      ctx.fillStyle = this.color;
      ctx.fill();
      ctx.restore();
    }
  }

4.使用原型继承的方式创建可移动小球

//会移动的小球
  class MoveBall extends Ball {
    constructor(x, y, color) {
      super(x, y, color);
      //小球变化
      this.dX = Math.random(-10, 10);
      this.dY = Math.random(-10, 10);
      this.dR = Math.random(3, 5);
    }
    //更新
    upDate() {
      this.x += this.dX;
      this.y += this.dY
      //this.r -= this.dR;
      //if(this.r<0){
      //  this.r=0;
      //}
      //使用三目运算优化
      this.r=(this.r -this.dR<0)?0:this.r -this.dR;
    }
  }

5.通过事件监听获取小球的坐标,通过随机数获取颜色开始绘制小球

let ballArr=[];
  let colorArr =['red','yellow','blue','pink','green','orange'];
//鼠标移动
  canvas.addEventListener('mousemove',function(e){
    //let e=e ||event;
    ballArr.push(new MoveBall(e.offsetX, e.offsetY,colorArr[ Math.round(Math.random()*(colorArr.length-1))]));
    //console.log(ballArr);
  })
//定时绘制
  setInterval(function(){
    //清屏
    ctx.clearRect(0,0,canvas.width,canvas.height);
    for(let i= 0;i<ballArr.length;i++){
      ballArr[i].render();
      ballArr[i].upDate();
    }
  },30);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PowerApp是一种由微软开发的应用程序开发工具,可用于创建自定义的商务应用程序。Canvas App是PowerApp的一种类型,它允许用户以无代码方式创建个性化的应用程序。 PowerApp Canvas App提供了一个直观的界面,用户可以通过简单地拖放和配置来创建应用程序。用户可以根据自己的需求自定义应用程序的布局,设计和功能。使用PowerApp的预定义控件和功能,用户可以在应用程序中添加表单、图表、画廊、按钮等元素,以及与数据源进行交互。用户还可以通过设置条件和公式来定义应用程序的行为和逻辑。 PowerApp Canvas App支持与多种数据源集成,包括SharePoint、Dynamics 365、Excel和其他外部数据源。这使得用户能够在应用程序中访问和处理各种数据。 使用PowerApp Canvas App,用户可以创建多种类型的应用程序,满足不同业务场景的需求。它可以用于创建报告应用程序、工作流应用程序、调查问卷应用程序等。用户可以通过PowerApp向应用程序添加逻辑和功能,以满足他们的特定需求。 总之,PowerApp Canvas App是一种强大而灵活的应用程序开发工具,它允许用户以无代码的方式创建个性化的商务应用程序。通过简单的拖放和配置,用户可以轻松地构建自己的应用程序,并根据需要添加逻辑和功能。这为用户提供了一种快速、简便和定制化的应用程序开发方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值