javascript - Adobe Edge 播放动画 3 次,然后停在特定帧上

标签 javascript adobe adobe-edge

我在 Edge 中创建了一个动画,需要播放 3 次,然后停在特定帧上。 我是 javascript 新手,我认为我需要使用变量和 if/else 语句,但不确定使用什么以及如何编写它。任何帮助将非常感激。谢谢!

最佳答案

我很不情愿地回答,你确实需要提供一些代码来展示你的尝试。但是,由于这是一个有用的入门问题,我将尝试回答。

您需要的第一件事是一个全局范围的变量来存储循环计数器。将类似的内容添加到您的 Stage.compositionComplete 函数中。

// Add a numLoops variable to global storage
sym.setVariable("numLoops", 0);

接下来,在动画结束时,通过时间轴操作创建一个事件来捕获该变量、增量并重播动画(如果适用),如下所示:

// capture numLoops variable and increment the counter
var numLoopsHolder = sym.getVariable("numLoops");
numLoopsHolder = numLoopsHolder + 1;

// set new numLoops variable back to global storage
sym.setVariable("numLoops", numLoopsHolder);

if (numLoopsHolder <= 2) {
    // replay scene until 3 iterations are complete
    sym.play(0);
}

这将使其循环 3 次,但您仍然需要通过以下方式在所需的时间线位置添加停止检查:

// capture numLoops variable to check for 3 loops (ie. 0, 1, 2 = 3 loops)
var numLoopsHolder = sym.getVariable("numLoops");

if (numLoopsHolder >= 2) {
    // we've completed 3 loops now stop here
    sym.stop();
}

这是操作事件引用的时间线屏幕截图。 enter image description here

关于javascript - Adobe Edge 播放动画 3 次,然后停在特定帧上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665930/

相关文章:

javascript - Hero.service.ts create() 如何将id号添加到数组中(英雄之旅)

javascript - 表对列进行水平排序

servlets - 注册 Sling Servlet 的方法 - Adob​​e AEM/CQ

javascript - 一旦达到某个最高值,删除具有几乎相同 id 的 div

jquery - Adobe Edge - 在 Symbol 中获取 DIV

javascript - AngularJS - 定义一个对象但不运行 ngRepeat

javascript - 更改页面大小时动态重新计算选择框的鼠标位置

ios - 使用 Adob​​e Air 转换适用于 iOS 的 Flash 文件

java - Android,如何将Gradle库导入到eclipse中(ANT)

css - 无法在 Bootstrap 中嵌入边缘动画