TWaver HTML5 (2D)--基本概念
基本概念
TWaver HTML5(以下简称TWaver)使用HTML5技术和javascript语言,可在支持HTML5的浏览器上进行绘图。
使用TWaver前,需熟悉几个基本概念:图元(Element)、容器(DataBox)和画布(Network)。
- 图元:图形中的各种基本元素,如节点(Node)、连线(Link)等;
- 容器:图元都统一放置在一个容器(DataBox)中进行管理,如同“装鸡蛋的篮子”一样。它负责图元的增/删/改/查等管理操作;
- 画布:图元最终都绘制在画布(Network)组件上。Network是最终用户看到的图形组件,负责图形画面的具体绘制和交互;

Note:以上概念是熟练使用TWaver需要掌握的最基本概念,请熟练掌握。
第一个例子
TWaver最常用的几个类:
- 图元:twaver.Node(节点)、twaver.Link(连线),都是twaver.Element图元基础类的子类;
- 容器:twaver.ElementBox,是twaver.DataBox容器类的子类;
- 画布:twaver.vector.Network;
绘制图形的过程是:
- new一个容器对象ElementBox、一个画布对象Network;
- 把Network放置在页面中并设置大小;
- new若干图元(Node、Link等)并add到Box容器中;
下面的HTML页面创建了一个“两点一线”的简单图形:
<script>
$(function init(){
var box = new twaver.ElementBox();
var network = new twaver.vector.Network(box); document.body.appendChild(network.getView());
network.adjustBounds({x:0,y:0,width:500,height:500});
window.onresize = function(e){
network.adjustBounds({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});
};
var node1 = new twaver.Node();
node1.setName("TWaver");
node1.setLocation(100,100);
box.add(node1); var node2 = new twaver.Node();
node2.setName("HTML5");
node2.setLocation(300,200);
box.add(node2); var link = new twaver.Link(node1,node2);
link.setName("Hello!");
link.setToolTip('<b>Hello!</b>');
box.add(link);
});
</script>
运行界面

TWaver HTML5 (2D)--基本概念的更多相关文章
- TWaver HTML5 (2D)----数据元素
概述 数据元素是数据模型的基本要素,用于描述图形网元,业务网元,或者纯数据.TWaver HTML5中所有数据元素都继承自twaver.Data.为不同功能的需求,预定义了三类数据类型:twaver. ...
- 初识phaser框架——开源的HTML5 2D游戏开发框架
背景: 在网上看到,65行实现flappy bird,感到很好奇.原来是使用开源的2D游戏框架 phaser开发的. 什么是phaser2D游戏开发框架呢? 借鉴与网上的资料: 1. Phase ...
- Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...
- PixiJS - 基于 WebGL 的超快 HTML5 2D 渲染引擎
Pixi.js 是一个开源的HTML5 2D 渲染引擎,使用 WebGL 实现,不支持的浏览器会自动降低到 Canvas 实现.PixiJS 的目标是提供一个快速且轻量级的2D库,并能兼容所有设备.此 ...
- HTML5 2D平台游戏开发#4状态机
在实现了<HTML5 2D平台游戏开发——角色动作篇之冲刺>之后,我发现随着角色动作的增加,代码中的逻辑判断越来越多,铺天盖地的if() else()语句实在让我捉襟见肘: 这还仅仅是角色 ...
- HTML5 2D平台游戏开发#6地图绘制
此前已经完成了一部分角色的动作,现在还缺少可以交互的地图让游戏看起来能玩.不过在开始之前应当考虑清楚使用什么类型的地图,就2D平台游戏来说,一般有两种类型的地图,Tile-based和Art-base ...
- 发布HTML5 2D游戏引擎YEngine2D
关于YEngine2D YEngine2D是一个开源的.采用HTML5技术和Javscript语言创建的2D游戏框架,用来构建web二维游戏. GitHub地址 最新版本 v0.1.2 浏览器支持 C ...
- HTML5 2D平台游戏开发#11斜坡物理
在游戏中会经常遇到斜坡地形,比如众所周知的魂斗罗,角色可以在坡上移动和跳跃: 斜坡在2D游戏中很常见,处理起来也较为棘手.最初我打算用分离轴定律来实现,在建立了一个物理模型之后: 发现上坡时没什么问题 ...
- HTML5 2D平台游戏开发#8指令技
一般在动作游戏中,玩家可以通过对输入设备输入一系列的指令让角色完成某个或多个特定的动作.以格斗游戏<拳皇>为例,键入↓↘→↘↓↙← + A or C可以触发IORI的必杀技八稚女: 通过一 ...
随机推荐
- sql注入在线检测(sqlmapapi)
版权:http://blog.csdn.net/yueguanghaidao/article/details/38026431 每次看都不方便 摘抄下来 之前一搞渗透的同事问我,sqlmapapi ...
- JUnit 单元测试 配置
选中工程,右键 built path , add liberaries , JUnit , JUnit4 这样就不用每次测试时都在main方法中写了
- [SAP ABAP开发技术总结]日期函数
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- DICOM标准相关资料
由于需要阅读影像,对DICOM需要先熟悉起来.关于DICOM,找了一些资料,可以学习.如下: DICOM标准:http://dicom.nema.org/standard.html 中文 DICOM ...
- 2013 Multi-University Training Contest 1
HDU-4605 Magic Ball Game 题意:给定一颗以1为根的数,每个节点要么有两个孩子节点,要么没有孩子,每个节点有一个重量,现在从节点1往下放置一个小球,根据小球和节点的重量的不同球落 ...
- Spring读书笔记-----Spring的Bean之Bean的基本概念
从前面我们知道Spring其实就是一个大型的工厂,而Spring容器中的Bean就是该工厂的产品.对于Spring容器能够生产那些产品,则取决于配置文件中配置. 对于我们而言,我们使用Spring框架 ...
- bootstrap学习笔记<十>(按钮组,导航)
1)按钮组.样式:class="btn-group" <div class="btn-group"> <button class=" ...
- poj3714Raid(平面最近点对)
链接 模板 稍加一点标记 模板 #include <iostream> #include<cstdio> #include<cstring> #include< ...
- poj1981Circle and Points(单位圆覆盖最多的点)
链接 O(n^3)的做法: 枚举任意两点为弦的圆,然后再枚举其它点是否在圆内. 用到了两个函数 atan2反正切函数,据说可以很好的避免一些特殊情况 #include <iostream> ...
- hostapd and wpa_supplicant
一.Hostapd hostapd 是一个用户态用于AP和认证服务器的守护进程.它实现了IEEE 802.11相关的接入管理,IEEE 802.1X/WPA/WPA2/EAP 认证, RADIUS客户 ...