一个简易的渲染循环结构

 上代码:

  <!DOCTYPE html>

  <html>

  <head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Micro Renderer</title>

  </head>

  <body>

  <span id="tips"></span>

  <hr>

  <button Render</button>

  <script>

  function startRender(renderer) {

  const layer = renderer.layer

  function render(time) {

  layer.render(time)

  requestAnimationFrame(render)

  }

  requestAnimationFrame(render)

  }

  class Layer {

  constructor(dom) {

  this.dom = dom

  }

  render(time) {

  this.dom.innerHTML = `Time cost: ${time}`

  }

  }

  class Renderer {

  constructor(layer) {

  this.layer = layer

  }

  beginRender() {

  startRender(this)

  }

  }

  function init() {

  const layer = new Layer(document.getElementById('tips'))

  const renderer = new Renderer(layer)

  renderer.beginRender()

  }

  </script>

  </body>

  </html>

  不需要HTTP环境,双击用浏览器打开,点击按钮即可看到不停跳动的数字

  结构

  各部分含义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值