我正在使用flash cs5构建一个非常简单的问卷。我的时间轴包括一个介绍框架,三个问题框架和一个结果框架。每个问题框允许用户选择5个答案选择中的1个(按钮),然后进入下一个问题。我想捕获他们的按钮选择,将其存储在变量中并将其显示在结果页面上。
我在每个问题框架上放置了以下动作脚本(变量名称相应地改变,即secondq,thirdq,a_second,a_third ..)以捕获用户的anwser。然后在结果框架中,我为每个anwser创建了一个文本框,使其成为动态,并将变量名称(firstq,secondq,thridq)设置为值。如果我为每个问题选择第一个按钮,则变量仅出现在结果框中,所有其他答案都不会出现在结果框中。任何帮助,将不胜感激。
var firstq:int = 0;
a_first.onRelease = function ()
{
firstq = 1;
gotoAndPlay(30);
};
b_first.onRelease = function ()
{
firstq = 2;
gotoAndPlay(30);
};
c_first.onRelease = function ()
{
firstq = 3;
gotoAndPlay(30);
} ;
d_first.onRelease = function ()
{
firstq = 4;
gotoAndPlay(30);
} ;
e_first.onRelease = function ()
{
firstq = 5;
gotoAndPlay(30);
} ;
stop();
trace(firstq);
trace(secondq);
trace(thirdq);
firstq = resA.text;
secondq = resB.text;
thirdq = resC.text;
答案 0 :(得分:0)
我从来没有真正将ActionScript添加到框架中,而是将AS页面链接到整个FLA,但我想我会插入并查看是否可以提供帮助。看起来你初始化firstq,secondq ... lastq就在它的相应页面上。因此,我认为当你离开页面时,你可能会失去它的价值。您可以尝试做的事情是创建另一个图层并添加一个持久存储在所有帧上的幻灯片。将文本字段添加到此处,以便它们位于所有框架上。在您不希望它们显示的帧上,您只需更改其可见性即可。现在,当你需要更改它们的值时,你可以说myTextField.text =“some text”。
答案 1 :(得分:0)
根据您的描述,我认为没有任何理由不起作用。您可以从结果框架中跟踪不同问题的结果开始:
trace( firstq, secondq , etc... );
然后你也可以在结果框架中测试你的TextField实例:
trace( tfInstance1 , tfInstance1.text , etc... );
如果以上所有方法都有效,请检查您是否在TextField中正确嵌入了字体。现在,如果一切正常......可能是一个停止();关于最后一帧的陈述......
答案 2 :(得分:0)
看起来您的结果框架正在向后分配值!
而不是 firstq = resA.text;你想要
resA.text = firstq;