Twaver-HTML5基础学习(1)认识TwaverH5以及快速上手

前言

由于博主最近换了新的工作,在工作中需要使用Twaver进行一些2D渲染,在此之前的工作内容中很少和这种业务类型打交道,在网上查阅发现这部分的文章也不是很多,所以想通过自己的学习以及工作中的使用进行一个整理总结,希望能够对后面需要使用的大佬们提供一些帮助,同时也是为了自己能够整体梳理一下Twaver2D的知识体系.那么话不多说,开始学习

快速上手Twaver

Twaver 2D HTML5 官方文档

基本概念

Twaver HTML5(以下简称Twaver)是使用 HTML5JavaScript 语言,可在 HTML5 上进行绘图。

必要前置知识

  1. 图元(Element):图形中的各种基本元素,如(节点 Node、连线 Link)
  2. 容器(DataBox):图元都放在统一的容器中管理,负责图元的增删改查
  3. 画布(Network):图元最终都绘制在画布上。Network是最终用户看到的图形组件,负责图形画面的具体绘制和交互

基础案例

Twaver常用类

  1. 图元:twaver.Node twaver.Link都是twaver.Element图元基础类的子类
  2. 容器:twaver.ElementBox,是twaver.DataBox的子类
  3. 画布:twaver.vector.Network

简单的绘制两点一线

绘制过程:

  1. new 创建ElementBox容器对象,一个画布对象Network
  2. 将Network添加到页面中并设置页面大小
  3. new若干图元,并add到Box中
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../lib/twaver.js"></script>
    <script>
        var box = new twaver.ElementBox(); // 创建容器实例
        var network = new twaver.vector.Network(box);  // 创建画布实例

        function init() {
            var view = network.getView();
            document.body.appendChild(view); // 页面中添加画布
            network.adjustBounds({ x: 0, y: 0, width: 1300, height: 600 });

            var node1 = new twaver.Node('node1') // 创建节点

            node1.setName('node1')
            node1.setLocation(100, 100)
            box.add(node1)

            var node2 = new twaver.Node('node2') // 创建节点
            node2.setName('node2')
            node2.setLocation(300, 300)
            box.add(node2)

            var link = new twaver.Link(node1, node2) // 创建连线
            box.add(link)
        }

    </script>
</head>

<body onload="init()">

</body>

</html>

看代码还是挺好理解的,就像上面的图所展示的,将图元放到容器,将容器放到画布中最后在页面中展示。

总结

这篇文章主要利用官网给的例子进行了一个demo展示,让大家对twaver有一个初步的认识

相关推荐
墨雪不会编程4 分钟前
C++基础语法篇五 ——类和对象
java·前端·c++
一 乐5 分钟前
农产品销售|农产品供销|基于SprinBoot+vue的农产品供销系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
sunshine64115 分钟前
JS实现悬浮可拖拽vue组件封装
开发语言·前端·javascript
lichong95123 分钟前
《postman、apipost、smartApi 等使用与特点 3 天路线图(可打印 PDF+互动脑图)》
前端·测试工具·macos·pdf·postman·大前端·大前端++
怪我冷i26 分钟前
es6与es5的模块区别
前端·ecmascript·es6·ai写作
一 乐28 分钟前
助农服务系统|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
前端·数据库·vue.js
by__csdn30 分钟前
Vue 2 与 Vue 3:深度解析与对比
前端·javascript·vue.js·typescript·vue·css3·html5
s***353033 分钟前
怎么下载安装yarn
android·前端·后端
q***649733 分钟前
Spring boot整合quartz方法
java·前端·spring boot
行走的陀螺仪34 分钟前
Vue3远程加载阿里巴巴字体图标实时更新方案
前端·icon·字体图标·阿里巴巴图标库