hightopo学习之旅一 -- 节点动画

参照官网 动画手册

1、引入所需HT文件

 

<script src="plugins/ht/core/ht.js"></script>
<script src="plugins/ht/plugin/ht-animation.js"></script>

 

 

 

 

2、写入基础代码

 

1 function init() {
2     var graph = new ht.graph.GraphView(),     // 拓扑图形组件
3           dm = graph.dm(),                              // 数据容器
4           view = graph.getView();                     // 最根层都为一个 div 组件,可通过组件的getView()函数获得,默认和自定义交互事件监听一般添加在该div上(getView().addEventListener(type ,func, false)),渲染层一般由 canvas 提供。
5 
6       var node1 = new ht.Node(),                    // 创建ndoe节点
7             node2 = new ht.Node();
8 }

 

3、设置节点样式

node1.setName("node1");
node1.setPosition(100, 100);
node1.setSize(100, 100);
node1.s({
    'shape': 'rect',
    'shape.background': 'pink',
    'shape.border.width': 3,
    'shape.border.color': 'rgb(220, 10, 17)',
    'shape.dash': true, // 是否启用颜色交替虚线
    'shape.dash.width': 2,
    'shape.dash.color': 'yellow',
    'shape.dash.pattern': [10, 10] // 长度16的shape.dash.color颜色,和长度16的shape.border.color颜色重复交替
});

4、添加动画设置

 1 node1.setAnimation({
 2      borderFlow: {
 3           property: "shape.dash.offset",
 4           accessType: "style",
 5           easing: "Linear",
 6           from: 20, 
 7           to: 0,
 8           frames: 20,
 9           onComplete: function() {
10                this.s('shape.dash.offset', 0);
11            },
12            next: "borderFlow"
13       },
14       start: ["borderFlow"]
15 });

5、渲染节点

dm.add(node1);
dm.enableAnimation();
view.className = "view";
document.body.appendChild(view)

 

转载于:https://www.cnblogs.com/zuojiayi/p/9405811.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值