我正在尝试为我的学生做一个测验。我将通过投影仪使用它,学生将提出他们的选择卡来回答问题。因此,在每个问题框架中都有一个按钮,以便在学生之后显示正确的答案。因此,我需要这些按钮,以便在剪辑的最后一帧中的每个答案的动态文本字段中从答案键获得正确的答案。我尝试使用这样的按钮操作来定义实例名称并调用实例名称(q1,q2,q3等):
if (q1.text == "A"){
AnswerA.play();
}
if (q1.text == "B"){
AnswerB.play();
}
if (q1.text == "C"){
AnswerC.play();
}
if (q1.text == "D"){
AnswerD.play();
}
永远不会显示正确的答案。我也尝试以相同的方式使用文本字段的变量名称,但它也不起作用。我无法设法从未访问的帧到时间轴跨度动作层的第一帧获取值。 如何检索动态文本字段的数据以在ActionScript 2中使用它们?提前感谢任何有用的想法。
答案 0 :(得分:0)
您的问题是您尝试访问通话时不存在的对象。
Flash中的时间轴框架结构,用作初始化程序和在可视界面中创建的对象的析构函数。
从程序执行的角度来看,TextField
对象仅存在于最后一帧中。
所以你应该选择更有效的数据结构。
例如,它可能是Array
。将代码放在第一帧
answersArray = ["A","B","C","D"];
检查将是这样的
if(answersArray[0]=="A"){
AnswerA.play();
}
如果您确定需要动态文本字段,那么它们应该保留在所有帧中,但是在屏幕之外的某个位置或_alpha
设置为0;
如果问题是访问TF内的文本,那么有两个属性负责这个 - text
和htmlText
。
如果选中了TF属性中的htmlText复选框,请使用htmlText
代替text
。