CreateJS-TweenJS文档翻译

CreateJS-TweenJS文档翻译TweenJS 模块 TweenJS 提供了一个简单但强大的渐变界面 它支持渐变的数字对象属性 amp CSS 样式属性 并允许链接补间动画和行动结合起来 创造出复杂的序列 简单 tween 下面的示例渐变 1000ms 内将目标的 alpha 属性从 0 1 渐变 之后调用 handleComple 函数 target alpha 0 createjs Tween get targ

TweenJS 模块 TweenJS提供了一个简单但强大的渐变界面。它支持渐变的数字对象属性&CSS样式属性,并允许链接补间动画和行动结合起来,创造出复杂的序列。 简单tween 下面的示例渐变:1000ms内将目标的alpha属性从0-1渐变,之后调用 'handleComplete' 函数 target.alpha = 0; createjs.Tween.get(target).to({alpha: 1}, 1000).call(handleComplete); function handleComplete(){ } 参数和作用域 Tween 也支持带参数和(或)作用域的 'call()' 方法。如果没有传递作用域,则匿名调用函数(就是通常javascript的行为)。在进行面向对象风格的开发时,传递scope对于维护scope是非常有用的。 createjs.Tween.get(target).to({alpha: 0}).call(handleComplete, [argument1, argument2], this); 链式tween 下面的示例渐变:等待0.5s,1000ms内将目标的alpha属性渐变到0,并设置visible为false。之后调用 'handleComplete' 函数 target.alpha = 1; createjs.Tween.get(target).wait(500).to({alpha: 0, visible: false}, 1000).call(handleComplete); function handleComplete(){ } 浏览器支持 TweenJS支持所有的浏览器 1.TweenJS TweenJS 是一个静态类,可获取类库的具体信息,例如:库的版本、构建日期等。 2.AbstractTween Tween 和 Timeline 的基类。不应该被直接实例化。 3.Tween 针对单个目标元素进行属性渐变。可以链式操作,创建复杂的动画序列 示例: createjs.Tween.get(target) .wait(500) .to({alpha: 0, visible: false}, 1000) .call(handleComplete); 多个渐变,可共享一个目标元素,但如果多个渐变,影响的是同一个属性,可能会出现意想不到的行为。要停止一个对象上的所有渐变,使用 'removeTweens' 或者传递 'override: true' 原型参数 createjs.Tween.get(target, {override: true}) .to({alpha: 0, visible: false}, 1000); 订阅 Tween/change事件 createjs.Tween.get(target, {override: true}) .to({x: 100}) .addEventListener('change', handleChange); function handleChange(){ // 渐变发生时触发 } 4.Timeline Timeline 类同步多个渐变,并允许把多个渐变作为一组来进行控制。注意:如果时间轴正在循环,即使渐变自身的 'loop' 属性设置的是false,时间轴上的渐变也可能循环。 注意:时间轴目前也接受如下形式的参数列表:tweens, labels, props。这只是为了向后兼容,将来会被移除。原型对象上会包含 tweens 和 labels 作为它的属性。 5.Ease Ease 类提供了用于 TweenJS 的easing功能集合。它不使用 standard 4 param easing signature(标准easing签名)。相反,它使用单个参数,表示渐变的当前线性比率(0-1)。 Ease上的大多数方法,可以直接作为easing功能直接传递: Tween.get(target).to({x: 100}, 500, Ease.linear); 然而,以 'get' 前缀开头的方法,需要根据参数值返回一个easing功能: Tween.get(target).to({x: 100}, 500, Ease.getPowIn(2.2)); 查看 TweenJS 支持的 ease 类型: https://www.createjs.com/demos/tweenjs/tween_sparktable 6.ColorPlugin ColorPlugin 使得渐变支持几乎任意的CSS颜色值。包括:3或6位十六进制颜色(#fff, #ffffff), rgb, rgba, hsl和hsla颜色。(但不支持名称颜色,例如:red) ColorPlugin 可以操作 rgb或hsl 模式。它会将所有颜色转换为当下的模式,并相应的输出它们。 7.CSSPlugin CSSPlugin 用于处理数字CSS字符串属性(例如:top, left)。使用的话,需要在 TweenJS 加载完毕后,简单安装: createjs.CSSPlugin.install(); CSSPlugin 几乎适用于任何style属性或单位。它通过查找元素style对象上的初始值,来识别 CSS 值。也使用这个初始值来解析出,该值所使用的单位。 在下面的例子中,通过 CSSPlugin,'top' 属性将会被渐变,且使用 'em' 单位(由 CSSPlugin 根据初始值解析出来),且,而 'width' 属性不会被渐变(因为width没有初始的内联样式值) myEl.style.top = '10em'; createjs.Tween.get(myEl).to({top: 20, width: 100}, 1000); CSSPlugin 也可用于计算样式。请查看 'AbstractTween/compute:property' 获取更多信息 CSSPlugin 对于 'transform' 样式有特定的处理,只要它们的操作和单位匹配,就会进行任意转换的渐变。例如: myEl.style.transform = 'translate(20px, 30px)'; createjs.Tween.get(myEl) .to({transform: 'translate(40px, 50px)'}, 900) // 可渐变,每项都匹配上了 .to({transform: 'translate(5em, 300px)'}, 900) // 不可渐变,出现不同的单位(px 对 em) .to({transform: 'scaleX(2)'}, 900) // 不可渐变,不同的操作(translate 对 scaleX) 也可使用 '*' 来复制上个 'transform' 相同位置的操作 myEl.style.transform = 'translate(0px, 0px) rotate(0deg)'; createjs.Tween.get(myEl) .to({transform: 'translate(50px, 50px) *'}, 900) // 会复制 'rotate' 操作 .to({transform: '* rotate(90deg)'}, 900) // 会复制 'translate' 操作 注意: CSSPlugin 不包含在 TweenJS 压缩文件 8.MotionGuidePlugin MotionGuidePlugin 用于处理运动导向。定义对象可以跟随或定向的路径。 使用该插件,需要在 TweenJS 加载完毕后安装。 createjs.MotionGuidePlugin.install(); 定义一个路径: // 使用运动导向 createjs.Tween.get(target).to({guide: {path: [0, 0, 0, 200, 200, 200, 200, 0, 0, 0]}}, 7000); // 上方运动导向的可视化线条 graphics.moveTo(0, 0).curveTo(0, 200, 200, 200).curveTo(200, 0, 0, 0); 每条路径都需要预先计算,以确保最高性能。正因为预先计算,Tween不支持改变路径。下面是导向对象的属性: path - 必须,数组。用于绘制路径的多个点(x, y)。 start - 可选,0-1。初始位置,默认为0(我们可以将路径理解为0-1一个区间,可能中间一个点开始运动,中间点就是0.5) end - 可选,0-1。结束位置,默认为1 orient - 可选,字符串:'fixed/auto/cw/ccw'。 fixed - auto - cw/ccw - 即便是每个渐变的所有属性都一样,也不应该在各个渐变间共享导向对象。MotionGuidePlugin库 在后台会存储这些对象的信息,如果共享它们会产生意外行为。'0-1' 范围之外的渐变,will be a "best guess" from the appropriate part of the defined curve(将是定义曲线适当部分的"最佳猜测") 9.RelativePlugin RelativePlugin 可以让渐变使用 '相对数值'。安装: RelativePlugin.install(); 一旦安装,可以使用以 '+/-' 的相对数值属性的字符串。例如:下面的渐变,使 'x' 从 200 渐变到 50,再到 125。 foo.x = 200; Tween.get(foo) .to({x: '-150'}, 500) .to({x: '+75'}, 500); 10.RotationPlugin RotationPlugin 可以修改渐变的 '旋转' 属性。安装: RotationPlugin.install(); 安装后,默认情况下,渐变的所有旋转,会以最短方向旋转。例如:从15°渐变渲染到330°,将会逆时针旋转45°。可以通过设置 rotationDir 渐变值,来改变默认行为。 -1 - 强制 'CCW' 旋转 1 - 强制 'CW' 旋转 0 - 禁用插件旋转效果 注意:rotationDir 值一旦设置,将会持久保存,除非之后调用,被覆盖掉。设置为 'null',来重置默认行为。 myTween.get(foo) .to({rotation: 30, rotationDir: -1}) // CCW .to({rotation: 60}) // 仍然是 CCW(因为持久保存) .to({rotation: 10, rotationDir: 1}); // CW 也可以对单个渐变,完全禁用插件: tween.pluginData.Rotation_disabled = true; // tween - 具体的一个渐变 11.SamplePlugin TweenJS的示例插件。这个插件纯粹是为了演示,并包含有关构建插件的文档和有用的技巧。(可参考官方实例,来发布自己的插件) // 下面几个,在 CreateJS 套件里是公共的 12.Event 13.EventDispatcher 14.Ticker 15.Utility Methods

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232728.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 冒泡排序

    Java 冒泡排序Java冒泡排序冒泡排序是最为出名的排序算法之一,总共有八大排序!直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序冒泡排序还是比较简单的,两次循环吗,外层冒泡轮数,里层依次比较。上代码packageArrays;importjava.util.Arrays;/***冒泡排序*1.比较数组中,两个相邻的元素,如果第一个数比第二个大,我们就让它们交换位置*2.每一次比较,都会产生一个最大的,或者最小的数字*3.下

    2022年7月7日
    18
  • gitee怎么提交作业_git的更新与提交

    gitee怎么提交作业_git的更新与提交如何使用git提交作业收作业方法论:今天就来用一个通俗易懂的自然模型来解释Git的commit,pull和push。不过,我们首先要理解两个名词,remote,local。remote,翻译

    2022年8月1日
    6
  • python浮雕图片_python图片处理PIL

    python浮雕图片_python图片处理PIL一、PIL介绍PIL中所涉及的基本概念有如下几个:通道(bands)、模式(mode)、尺寸(size)、坐标系统(coordinatesystem)、调色板(palette)、信息(info)和滤波器(filters)1、通道每张图片都是由一个或者多个数据通道构成。PIL允许在单张图片中合成相同维数和深度的多个通道。以RGB图像为例,每张图片都是由三个数据通道构成,分别为R、G和B通道。而对…

    2022年6月20日
    28
  • IP地址分类(A类 B类 C类 D类 E类)「建议收藏」

    IP地址分类(A类 B类 C类 D类 E类)「建议收藏」一、简介IP地址由四段组成,每个字段是一个字节,即4个字节、每个字节有8位,最大值是255(=256:0~255)。全世界范围是唯一的32位(4个字节*8位)的标识符。IP地址由两部分组成,即网络地址和主机地址,二者是主从关系:1.网络号net-id,它标志主机(或路由器)…

    2022年4月29日
    126
  • 基于Vue3.0的电商后台管理系统—前端

    基于Vue3.0的电商后台管理系统—前端历时一个月,从开始学习vue到能用vue开发一个简单的系统,以下是开发这个系统的简单报告。所用的技术:git:管理代码的开发node.js:vue.js运行环境vue3.0:最新版本vue-cli3.0:脚手架最新版本,支持图形化操作webstorm:代码编辑器项目新增插件:vue-cli-plugin-element:elementUI库项目新增的依赖:…

    2022年6月8日
    44
  • netstat命令输出结果分析「建议收藏」

    netstat命令输出结果分析「建议收藏」netstat命令一般用来查看IP/Port占用情况,在网络程序员那里就可以用于检测数据发送/接收的端口是否正确。比如最近在做“视频实时传输”项目时就是用它发现问题的。所以有必要看懂netstat命令输出结果的含义,下面给出三个典型的结果:说明:Tserver01为一个UDP服务器测试程序,用于接收客户端的请求数据,然后回传另一组数据到客户端。UDP——传输协议为UDP协

    2022年7月23日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号