0

嗨,我制作了这段代码,我使用的是 flash cs5.5

var cijfer_txt:int = parseInt(textarea_text.text);

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

submit.addEventListener(TouchEvent.TOUCH_TAP, fl_TapHandler_2);

function fl_TapHandler_2(event:TouchEvent):void
{

    switch (cijfer_txt){
    case 1:
    gotoAndStop(12);
    break;
    case 2:
    gotoAndStop(23);
    break;      }

};

但我不明白为什么它不起作用,当我填写“1”并停止时动画必须进入第 12 帧,如果我填写“2”并停止,动画必须进入第 23 帧但他没有'不要这样做,我厌倦了它!

4

2 回答 2

1

尝试在 fl_TapHandler_2 中设置 cijfer_txt

function fl_TapHandler_2(event:TouchEvent):void
{

    cijfer_txt = parseInt(textarea_text.text);

    switch (cijfer_txt){

    }
}
于 2013-10-27T12:47:05.720 回答
0

我认为您在调试方面有问题,所以我会帮助您:

首先:更改您的代码如下 -

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 = parseInt(textarea_text.text);
    trace("in the function, cijfer_txt = "+cijfer_txt);
    switch (cijfer_txt) {
       case 1:
         trace("in case 1");
         gotoAndStop(12);
         break;
       case 2:
         trace("in case 2");
         gotoAndStop(23);
         break;
       default:
         trace("in defaukt");
         break;
      }
}

现在运行它并观察 CONSOLE\OUTPUT 的跟踪输出,根据输出,您可以看到正在发生的事情!痕迹(); 是一种非常常见的方法 祝你好运(如果对您有帮助,请不要忘记标记为已接受!)

于 2013-10-28T19:42:05.320 回答