VueCl项目Code记录第二天(canvas)

深度选择器(能影响子组件样式)

>>> .el-input__inner
or
/deep/ .el-input__inner

`

canvas

let canvas = document.getElementById('bollCanvas');
let context = canvas.getContext('2d');

class

class Ball{
  constructor(x,y,raduis,color,speedX = 3,speedY = 3){
    this.x = x;
    this.y = y;
    this.raduis = raduis;
    this.color = color;
    this.speedX = speedX;
    this.speedY = speedY;
  }
  createBall(){
      context.beginPath();
      context.arc(this.x,this.y,this.raduis,0,Math.PI*2);
      context.fillStyle=this.color;
      context.fill();
      context.closePath();
  }
  moveBall(){
    if(this.x+this.raduis >= canvas.width || this.x-this.raduis <= 0){
      this.speedX = -this.speedX;
    }
    this.x+=this.speedX;
    if(this.y+this.raduis >= canvas.height || this.y-this.raduis <= 0){
      this.speedY = -this.speedY;
    }
    this.y+=this.speedY;
  }
}

requestAnimationFrame

function updateBall(){
        requestAnimationFrame(updateBall);
        context.clearRect(0,0,canvas.width,canvas.height);
        for (const ball of ballArray) {
          ball.createBall();
          ball.moveBall();
        }
      
    }
    updateBall();

mounted

代码由于要获取canvas id写这里面

 this.gameStart=gameStart;

这种方法可以把mounted里面的方法在其他地方用

window.innerWidth

获取窗口宽度

得到鼠标位置

 window.addEventListener('mousemove',(event)=>{
      this.mouseX=event.clientX;
      this.mouseY=event.clientY; 
    })
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值