KineticJS教程(7)

作者: ysm

7.图形变换

7.1.线性变化

Kinetic提供了一个图形对象的transitionTo(config)方法实现图形的线性变换,也就是从原始的状态线性变换到新的状态,这里的状态是指的尺度上的参数。方法的config参数也就是有关图形尺度的一些参数,比如 x, y, rotation, width, height, radius, strokeWidth, alpha, scale, centerOffset等。除了这些尺度参数,还需要一个duration参数,单位是秒,也就是指定这种线性变换是在多长时间内变换完成。

比如,下面代码实现图形在两秒钟内从原位置移动到横坐标100处,并逐渐变成透明:

<script>

shape.transitionTo({

x: 100,

alpha:0,

duration:2

});

</script>

7.2.变换中的速度

Kinetic的transitionTo(config)方法中的config参数包括一个easing属性,是指的变换是以较均匀的速度到达变换目的点还是在变换过程中在不同位置以不同速度进行变换。Easing可以设定的值包括ease-in、 ease-out、 ease-in-out、 back-ease-in、 back-ease-out、 back-ease-in-out、 elastic-ease-in、 elastic-ease-out、 elastic-ease-in-out、 bounce-ease-in、 bounce-ease-out、 bounce-ease-in-out、 strong-ease-in、 strong-ease-out以及 strong-ease-in-out。

在文章里很难形容这些值之间的不同,还是具体写成代码,在浏览器里看效果吧。

<script>

shape.transitionTo({

x: 100,

duration: 1,

easing: ‘ease-out’

});

</script>

7.3.变换完成后的回调方法

Kinetic的transitionTo(config)方法中的config参数还包括一个回调方法属性,这个方法会在变换完成后被执行。

<script>

shape.transitionTo({

x: 100,

duration: 1,

easing: “bounce-ease-out”,

callback: function() {

alert(“transition complete!”);

}

});

</script>

7.4.变换的开始与结束

当执行transitionTo方法的时候可以返回一个对象变量,并用这个对象的 start()、 stop() 和 resume()方法来启动、停止和恢复转换的执行。

<script>

var trans = shape.transitionTo(config);

// 开始转换

trans.start();

// 停止转换

trans.stop();

// 恢复转换

trans.resume();

</script>

KineticJS教程(7)的更多相关文章

  1. KineticJS教程(12)

    KineticJS教程(12) 作者: ysm  12.舞台 12.1.舞台的大小 舞台创建后还可以用舞台对象的setSize(width, height)方法来设置舞台的宽度与高度. <scr ...

  2. KineticJS教程(11)

    KineticJS教程(11) 作者: ysm 11.对象的上下关系 11.1.层的上下关系 Kinetic的层是按照添加到舞台的次序,由下向上排列,上层遮盖下层的图形.每个层各自有一个ZIndex编 ...

  3. KineticJS教程(10)

    KineticJS教程(10) 作者: ysm  10.在容器之间移动图形对象 Kinetic支持通过图形对象的moveTo(container)方法把图形对象从一个容器移动到另一个容器里,这个容器指 ...

  4. KineticJS教程(9)

    KineticJS教程(9) 作者: ysm  9.选择器 Kinetic在舞台.层和组对象上都提供了get方法,用于返回这三者中包含的对象. 9.1.根据ID获取对象 要用id获取对象,首先要给对象 ...

  5. KineticJS教程(8)

    KineticJS教程(8) 作者: ysm  8.动画 动画就是一帧帧的画面按照时间间隔显示出来,Kinetic给我们提供了一个舞台对象的onFrame方法,用这个方法可以绑定一个动画方法,我们要显 ...

  6. KineticJS教程(6)

    KineticJS教程(6) 作者: ysm 6.拖拽 6.1.拖拽功能 要实现Kinetic对象的拖拽功能很简单,只需要将图形对象的draggable属性设为true就可以了. <script ...

  7. KineticJS教程(5)

    KineticJS教程(5) 作者: ysm  5.事件响应 5.1.图形的事件响应 图形对象对事件的响应处理可以使用 on() 方法绑定事件类型和相应方法. On() 方法需要一个事件类型参数和相应 ...

  8. KineticJS教程(4)

    KineticJS教程(4) 作者: ysm  4.图形样式 4.1.填充 Kinetic中图形的填充属性可以在构造方法中的config参数中的fill属性进行设定,也可以用图形对象的setFill方 ...

  9. KineticJS教程(3)

    KineticJS教程(3) 作者: ysm  3.图形对象 3.1.Shape Kinetic提供了一个Shape对象用于在层上绘制图形,我们可以通过Kinetic.Shape()构造方法返回一个S ...

随机推荐

  1. Python 正则表达式中级

    首先是?:   在括号中用?:用在findall和split之中,去除括号优先级. 如果不用只输出括号内匹配的值 r   的作用是转义python里面换行符等,像是\n 不用加\来转义 1.子表达式 ...

  2. 【UOJ #110】【APIO 2015】Bali Sculptures

    http://uoj.ac/problem/110 这道题subtask4和subtask5是不同的算法. 主要思想都是从高位到低位贪心确定答案. 对于subtask4,n比较小,设\(f(i,j)\ ...

  3. [APIO2014]序列分割 --- 斜率优化DP

    [APIO2014]序列分割 题目大意: 你正在玩一个关于长度为\(n\)的非负整数序列的游戏.这个游戏中你需要把序列分成\(k+1\)个非空的块.为了得到\(k+1\)块,你需要重复下面的操作\(k ...

  4. [BZOJ4009][HNOI2015]接水果(整体二分)

    [HNOI2015]接水果 时间限制:60s      空间限制:512MB 题目描述 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果. 由于她已经DT FC 了The b ...

  5. MySQL注射绕过技巧(三)

    在测试一次注入的时候发现过滤了逗号 所以找到这个思路 第一次遇到的时候是看key哥挖洞  遇到后就想记录下来 正文 过滤了逗号  利用join来逐步查询 select*from(select 1)a ...

  6. 去除两端margin的方法

    假如有一份视觉稿,其中一部分是实现这样的: 两排横向排列的框,它们中间有边距,两端无边距.每个框大小为100*100,外边距为20,整个区域为460*220. HTML结构: <div> ...

  7. mysql内存参数整理和条调优以及内存统计

    date:20140530auth:Jin 参考:http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#http:// ...

  8. BeanPostProcessor使用心得

    最近想对项目中的所有bean进行一个代理.然后监控bean得方法的使用情况.         刚开始想的方法是:重写项目的beanFactory,然后再getBean的使用,对结果object进行一个 ...

  9. How to Distinguish a Physical Disk Device from an Event Message

    https://support.microsoft.com/en-us/help/159865  https://support.microsoft.com/en-us/help/244780/inf ...

  10. 三款工作流引擎比较:WWF、netBPM 和 ccflow

    下面将对目前比较主流的三款工作流进行介绍和比较,然后通过三款流程引擎分别设计一个较典型的流程来给大家分别演示这三款创建流程的过程.这三款工作流程引擎分别是 Windows Workflow Found ...