这个页面利用xml嵌入到canvas的是什么技术?

阅读 2.8k
评论
    3 个回答
    • 1.1k
      • 3.5k

      -1的原因竟然是因为 http://nb574.bungba.com/js/nb.compress.js 是被压缩过的不容易看。
      unformated
      formated

      // dom ready 的时候 new axe
      require(["jquery", "axe", "nb"], function (e, t, n) {
        e(document).ready(function () {
          new t(n, "views/stage.xml")
        })
      })
      // axe 第二个参数g如果是`string`调用 stageCtrl.initWithURL, 监听 `stageCtrl` 的 `PREPARED`,`PREPARED` 后`stageCtrl.view()`
      define("axe", ["render_engine", "event_center", "event", "stage", "view_container", "view", "bitmap", "shape", "movie", "text", "button", "motion", "scroll_view", "table_view", "spin_view", "view_factory"], function (e, t, n, r, i, s, o, u, a, f, l, c, h, p, d, v) {
        var m = function (m, g, y) {
          var b = this;
          v.addClass("stage", r),
          v.addClass("container", i),
          v.addClass("view", s),
          v.addClass("bitmap", o),
          v.addClass("shape", u),
          v.addClass("movie", a),
          v.addClass("text", f),
          v.addClass("button", l),
          v.addClass("motion", c),
          v.addClass("scroll", h),
          v.addClass("table", p),
          v.addClass("spin", d),
          b.stageCtrl = new m,
          typeof g == "string" ? (b.stageCtrl.initWithURL(g),
            t.addListener(b.stageCtrl, b, n.PREPARED, function () {
              b.renderEngine = new e(b.stageCtrl.view())
            })) : (b.stageCtrl.init(),
            b.renderEngine = new e(b.stageCtrl.view()))
        },
        g = m.prototype;
        return g.stageCtrl = null,
        g.renderEngine = null,
        m
      })

      用到的技术

      1. 异步加载
        异步加载xml配置

      2. canvas
        根据xml配置canvas画图

      ---问这个问题的人真是懒得要死,以下是原答案,还被-1---
      http://nb574.bungba.com/js/nb.compress.js
      自己分析代码

        • 2.6k

        你听说过json吗?
        这里的xml和json一个作用。只是格式不同而已。xml文件里只是一部分的配置参数而已。canvas本身还是通过js来渲染的

          撰写回答

          登录后参与交流、获取后续更新提醒

          相似问题
          推荐文章