0

我在两个框架上有两张照片。有一个文本框,其中会有一些值,基于该值,单击按钮后将播放任何帧。但是无论每次播放第 3 帧时的值是多少。我无法在第 2 帧停止。

on(release){
    myNum=parseInt(textbox1.text);
if (myNum == 2) {
   gotoAndPlay(2);
}
stop();
}

我应该在这里停下来,因为我的情况在第 2 帧中

在此处输入图像描述

但它总是出现在第 3 帧中

在此处输入图像描述

4

1 回答 1

2

所以,调试。关键是要从字面上学习有关您正在处理的数据和对象的所有内容。沿着这些痕迹的某个地方,你会看到它不是你所期望的。下一步是找出原因。

稍加研究,您就会知道是什么导致您的脚本出现故障。可能是以下任一情况:

  • textbox1不是TextField实例名而是文本变量名,AS1 里有这么奇怪的东西
  • 实例名称不是textbox1但可能是TextBox1并且您无法访问它,因为它区分大小写
  • textbox1.text不可用,因为您不小心拥有具有相同实例名称的相同输入字段的两个副本
  • parseInt不是函数,我不记得 AS1/2 有那么好,谁知道
  • parseInt的结果不是你所期望的

所以:

on (release)
{
    // Check if button is working at all.
    trace("Release!");

    // Check if textbox1 is available.
    trace(textbox1);

    // Check text contents.
    trace("<" + textbox1.text + ">");

    // Check if parseInt is a valid function.
    trace(parseInt);

    myNum = parseInt(textbox1.text);

    // Check the result of parsing the text into integer.
    trace(myNum);

    // Check the condition.
    trace(myNum == 2);

    if (myNum == 2)
    {
        // Check if conditional clause works as expected.
        trace("Condition Worked!");

        gotoAndStop(2);
    }
}
于 2018-04-08T11:51:17.240 回答