摘要:Key(关键帧属性)组提供了关键帧(Key)对象的 value, time 和 index 属性,可以灵活读取关键帧的信息,并在表达式中根据这些信息创建动态动画、特效或逻辑。
Key(关键帧属性)组提供了关键帧(Key)对象的 value, time 和 index 属性,可以灵活读取关键帧的信息,并在表达式中根据这些信息创建动态动画、特效或逻辑。
value
获取关键帧的值(可为数值或数组),与该关键帧在时间轴上的设定值一致。
返回值 :Number 或 Array。具体取决于该属性本身的类型,例如位置(二维或三维数组),旋转(单个数值)等。
应用:
// 示例 1:位置属性在第二个关键帧时的值thisLayer.transform.position.key(2).value// 示例 2:获取第二个关键帧值并增加 10// 在一个数值属性(如不透明度)上opacity.key(2).value + 10time
获取关键帧的时间,表示该关键帧在时间轴上的位置。
返回值 :Number,以秒为单位,表示该关键帧出现的时间点。
应用:
// 示例 1:位置属性第一个关键帧的时间positon.key(1).time// 示例 2:比较当前时间与某个关键帧的时间if (time > opacity.key(1).time) {100; // 超过第1关键帧时间后设为100%} else {0; // 否则0%}// 示例 3:忽略关键帧数值,仅使用关键帧时间来计算闪烁动画d = Math.abs(time - nearestKey(time).time);easeOut(d, 0, 0.1, 100, 0);获取关键帧在其属性中的索引序号,例如第 1 个关键帧、第 2 个关键帧。
返回值 :Number,表示关键帧在该属性所有关键帧中的序号。关键帧编号从 1 开始。
应用:
// 示例 1:输出某个关键帧的索引var idx = position.key(3).index; // 返回3"This keyframe index is " + idx;// 示例 2:根据关键帧索引执行不同逻辑var i = thisProperty.key(2).index;if (i == 2) {// 针对第二关键帧做特殊处理100} else {50}“点赞有美意,赞赏是鼓励”
来源:水潇教育
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!