Adobe Edge Animate从符号的动作中读取舞台变量

时间:2014-05-27 08:47:57

标签: jquery adobe adobe-edge

我正在努力使用这款Edge Animate作品几个小时:

我尝试创建的是一个字符选择(多个图像),它会在每个人的语音气泡(符号)中触发不同的文本消息。

除了单个文本,我还有2个输入字段(select2.js),它们位于文本跨度之间。为此,我必须在符号的creationComplete操作中生成文本范围和输入字段,如下所示:

    perscontent.html('<span style="font-weight: bold;">'+perstext[0]+'<br></span>'+
                    '<span>'+perstext[1]+'</span>'+
                    '<input id="tech" class="bubbleinput" style="margin-top: 5px" type="text" data-position="top" placeholder="mit der Technologie:"></input>'+
                    '<span>'+perstext[2]+'</span>'+
                    '<input id="probl" class="bubbleinput" style="margin-top: 5px" type="text" data-position="top" placeholder="das Problem/Produkt:"></input>'+
                    '<span>'+perstext[3]+'</span></p> ');

正如您所看到的那样,数组变量perstext根据阶段变量“perstoggle”的值来获取另一个数组(包含单个文本)的值在动作&gt;阶段设置compositionReady sym.setVariable("perstoggle", "pers1select");

►这就是疼痛开始的地方!我无法阅读perstoggle

    var cur = sym.getComposition().getStage().getVariable("perstoggle");
    console.log( "=> ", cur);

在控制台日志中显示“未定义”...任何建议?非常感谢!

// EDIT 另一方面,如果我从回调函数内部读取perstoggle阶段变量,它会突然在控制台上显示正确的值(“pers1text”)。但是我的jquery select2输入没有被加载:

    yepnope({

both: [

                    "select2.min.js",
                    "select2.css",
                    "pagestyle.css"

        ],

    callback: function(){


                    $("#tech").select2(......);

                    $("#probl").select2(.....);

                    var cur = sym.getComposition().getStage().getVariable("perstoggle");
                    console.log( "=> ", cur);

                    switch (cur){
                    case ("pers1select"): var perstext = pers1text;
                    break;

                    default : var perstext = pers2text;
                    }

1 个答案:

答案 0 :(得分:1)

为什么不保持简单?

(简单示例)

打开边缘动画中的代码窗口 (菜单 - &gt;窗口&gt;代码) 点击舞台 并添加以下代码:

var perstext;
perstext = "begin"; 
var foo = function() {
   $("#Stage_Rectangle").html('<span style="font-weight:bold;">'+perstext+'</span>');
};// will set the text on div Retan

这将使函数foo更新perstext全局。

首先你需要让它在开始时运行。 所以要做那个添加阶段&gt; compositionready并添加以下代码:

foo();

这将在开头运行函数foo

并将其更改为其他内容在div或图像上添加click事件 并添加此代码:

perstext = "i changed!";
foo();

这将改变perstext并通过foo();

再次更新它