Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 如何在touchevent中使用switch()_Actionscript 3_Touch_Switch Statement - Fatal编程技术网

Actionscript 3 如何在touchevent中使用switch()

Actionscript 3 如何在touchevent中使用switch(),actionscript-3,touch,switch-statement,Actionscript 3,Touch,Switch Statement,我试图让动画播放到一个帧,该帧链接到某个人输入的某个数字,我把这个代码拼凑出来,但它不起作用。有人能解释为什么它不起作用吗 var cijfer_txt = int(textarea_text); Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; submit.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler_2); function fl_TapHandler_2(eve

我试图让动画播放到一个帧,该帧链接到某个人输入的某个数字,我把这个代码拼凑出来,但它不起作用。有人能解释为什么它不起作用吗

var cijfer_txt = int(textarea_text);

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

submit.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler_2);

function fl_TapHandler_2(event:TouchEvent):void
{
    switch (cijfer){
    case 1:
    gotoAndStop(12);
    break;
    case 2:
    gotoAndStop(23);
    break;      }

}

谢谢你的回复好的,我可以在这里看到两个潜在的原因

  • 第一件事是,当这段代码第一次运行时,您只定义了一次“cijfer_txt”。您需要打断这一行,并将其转移到处理程序中,使其在每次运行tap函数时都运行。另外,“textarea_text”是否正确?如果“textarea\u text”是文本输入框的名称,则需要使用“textarea\u text.text”检索该值
  • 接下来,您将在switch语句中使用一个名为“cijfer”的变量,但将数字定义为“cijfer_txt”
  • 尝试此代码,看看它是否适合您(未经测试,因为我现在不在电脑上):


    谢谢你的回复,很抱歉“textarea\u text”应该是“textarea\u text.text”,正如你所说,我还复制了你的代码,更改了“textarea\u text”,在flash中测试了它,但它不起作用,动画仍然没有任何作用。。。也许是因为我使用的是flash cs5.5,我用这段代码在空中为Android制作了一个应用程序,否则我就不知道了……嗯。。。真奇怪。尝试对代码进行一些跟踪,看看函数是否实际运行。所以,在“cijfer_txt=int(textarea_text.text)”之后粘贴一个“trace(typeof(cijfer_txt),cijfer_txt)”,看看我们得到了什么;跟踪(类型(cijfer_-txt),cijfer_-txt);按Ctrl+Enter,但仍然会发生相同的情况,我可以填写一个数字,我可以按按钮,但什么也没有发生。因此,输出窗口没有显示任何内容?这意味着函数没有运行,因此可能是由于某种原因事件侦听器没有启动。。。编辑:我刚刚意识到,如果你在平板电脑或移动设备上进行测试,可能没有跟踪窗口<代码>开关(cijfer_txt){case 1:gotoAndStop(12);break;case 2:gotoAndStop(23);break;default:gotoAndStop();}如果转到另一帧,然后我们将知道处理程序是否被调用。嗨,我看到你回答了我的另一个问题,所以非常感谢你,因为我没有真正理解它,因为第一部分的动画必须在第一部分的最后一帧停止,但现在它继续,你的答案在某种程度上消失了,所以我很高兴我复制了它,但我更改了你添加的文本,所以我不知道我应该为此键入什么。也许你可以再回答一遍,或者解释一下我要插入的帧数的含义。谢谢…如果你只想使用单点触摸事件,你可以简单地使用鼠标事件。可能的重复
    var cijfer_txt:int;
    
    Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
    submit.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler_2);
    
    function fl_TapHandler_2(event:TouchEvent):void
    {
        cijfer_txt = int(textarea_text); // Check textarea_text shouldn't be textarea_text.text
        switch (cijfer_txt){
        case 1:
            gotoAndStop(12);
        break;
        case 2:
            gotoAndStop(23);
        break;
        }
    
    }