Relation.js——基于pixi.js的拓展模块之人物关系图谱
出于【重构基于D3的关系图谱项目】的目的,在看完pixi.js之后,并且网上又没有现成的基于webgl的关系图谱js库,于是,本人决定自己写一个。
因为平常要工作的原因,进度可能有点慢,但是github会同步更新:https://github.com/ecojust/Relation.js。
那么,博客园就用来记录,该库的用法吧。
一、项目结构

images目录放置了一些Relation.js用到的一些内置贴图;
js目录放置了pixi.min.js(依赖)和relation.js(模块化),所以pixi.js必须要在relation.js之前引入。
二、首个demo

前面已经从relation.js中引入了PersonPanel,所以
new PersonPanel().init(app);
一行代码就能为我们创建一个人物面板(轮廓、头像采用内置贴图,并且贴图自动居中,整个人物面板相对于window上下左右居中):

当然,你也可以自定义这些设置就像上述代码中注释的那些:


注意:无论你采用最简版设置(不需要传config参数)还是自定义设置(自定义config),app参数都是需要的,那么app是什么呢?
let app = new PIXI.Application({width: , height: });
    app.renderer.backgroundColor = 0x061639;
    app.renderer.view.style.position = "absolute";
    app.renderer.view.style.display = "block";
    app.renderer.autoResize = true;
    app.renderer.resize(window.innerWidth, window.innerHeight);
    //将该实例append到页面中用于展示
    document.body.appendChild(app.view);
这是一个PIXI的Application类的实例。
三、PersonPanel拖拽

新增的属性:openMove,用于定义PersonPanel是否可被拖拽(默认为false)
当用户定义该属性为true之后,针对鼠标的按下、拖拽、松开除了默认的移动效果之外,用户还可以新增自定义方法。

注意:所有的PersonPanel实例都会被放到window.stack数组中,所以,你还可以根据index来获取指定实例。
四、
Relation.js——基于pixi.js的拓展模块之人物关系图谱的更多相关文章
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-yilianyun
		koahub-yilianyun 微信易联云打印机接口 koahub-yilianyun易联云打印机node接口 Installation $ npm install koahub-yilianyun ... 
- KoaHub.JS基于Node.js开发的处理和显示日期代码
		moment Parse, validate, manipulate, and display dates A lightweight JavaScript date library for ... 
- 变态版大鱼吃小鱼-基于pixi.js 2D游戏引擎
		之前用CSS3画了一条 
- KoaHub.JS基于Node.js开发的Koa 生成验证码插件代
		ccap node.js generate captcha using c++ library CImg without install any other lib or software node- ... 
- KoaHub.JS基于Node.js开发的mysql的node.js驱动程序代码
		mysql A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 10 ... 
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-handlebars
		koahub-handlebars koahub-handlebars koahub handlebars templates Installation $ npm install koahub-ha ... 
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-loader
		koahub loader Installation $ npm install koahub-loader Use with koa // 1.model loader var model = ... 
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub-skip
		koahub-skip koahub skip middleware koahub skip Conditionally skip a middleware when a condition is m ... 
- KoaHub.js -- 基于 Koa.js 平台的 Node.js web 快速开发框架之koahub
		Installation $ npm install koahub Use with koa var app = require('koa')(); var router = require( ... 
随机推荐
- mysql创建和删除表
			创建表 简单的方式 CREATE TABLE person ( ), name ), birthday DATE ); 或者是 CREATE TABLE IF NOT EXISTS person ( ... 
- HDU5086:Revenge of Segment Tree(规律题)
			http://acm.hdu.edu.cn/showproblem.php?pid=5086 #include <iostream> #include <stdio.h> #i ... 
- (转)WPF学习资源整理
			由于笔者正在学习WPF,所以整理出网络中部分WPF的学习资源,希望对同样在学习WPF的朋友们有所帮助. 首推刘铁猛的<深入浅出WPF>系列博文 1.深入浅出WPF(1)——什么是WPFht ... 
- java基础类型中的char和byte的辨析及Unicode编码和UTF-8的区别
			在平常工作中使用到char和byte的场景不多,但是如果项目中使用到IO流操作时,则必定会涉及到这两个类型,下面让我们一起来回顾一下这两个类型吧. char和byte的对比 byte byte 字节, ... 
- 基于SSH RSA的信任关系
			RSA 非对称加密算法 client ---> server 私钥 公钥 1. 客户端生成密钥对 ssh-keygen -t rsa 执行后产生的密钥对会分别追加写到当前用户家目录下的以下文 ... 
- Linux查看网卡UUID另一方法
			转自:http://liaoronghui.com/linux-view-network-adapter-uuid-other-law.html 有时我们不小心将/etc/sysconfig/netw ... 
- inline用法详解
			(一)inline函数(摘自C++ Primer的第三版) 在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联. inline int min(int first, int ... 
- FZU 1901 Period II(KMP中的next)题解
			题意:给你一串字符串,问你前后缀相同情况有几种,并输出后缀位置(?这里一直没看懂length是什么,但是这样理解答案也对,然后还要加上本身长度) 思路:这里好好讲讲next的用法.我们都知道next代 ... 
- SharePoint研究之表单登录配置
			本文将演示SharePoint怎样配置表单(Form)登录,后续文章将研究 无密码登录.编程添加用户组.编程添加用户.编程添加文件夹.编程分享文件夹(权限分配)等. 知识点:SharePoint.Sq ... 
- UVa 11404 回文子序列(LCS求最长回文串长度)
			https://vjudge.net/problem/UVA-11404 题意: 给定一个由小写字母组成的字符串,删除其中的0个或多个字符,使得剩下的字母(顺序不变)组成一个尽量长的回文串.如果有多解 ... 
