0

startFunctionには、doFunctionを3秒間呼び出してから、停止するタスクがあります。残念ながら、これはコンパイラエラーなしでは機能しません。ただの空白の出力。おそらくいくつかの簡単な間違いですが、私は初心者であり、数時間以来解決策を見つけることができません。より明確にするためにコードをカットしましたが、必要に応じて貼り付けることができます。

    package  {
        //all imports

        public class MemoryPuzzles extends MovieClip{
            //all variables


            public function MemoryPuzzles():void {//first function

 //function memory puzzles
                }//first function end end


    public function startFunction():void//beginning of second function in the single class
    {
                    trace("start function works");

    startTime = getTimer();
    if( (getTimer() - startTime)<3000 ){
    addEventListener(Event.ENTER_FRAME, doFunction);
    } else {
    removeEventListener(Event.ENTER_FRAME, doFunction);
    }

    function doFunction(e:Event):void
    {
        trace("do function works");
    }//end of dofunction
    }//end of startfunction
    }//class end
}//import end

ありがとう

4

1 に答える 1

0

次のコードを参照してください。私はテストしました。

package
{
    import flash.display.MovieClip;
    import flash.utils.getTimer;

        public class MemoryPuzzles extends MovieClip
        {

            public function MemoryPuzzles():void 
            {
                startFunction();
            }

            public function startFunction():void
            {
                trace("start function works");

                var startTime = getTimer();
                addEventListener(Event.ENTER_FRAME, doFunction);
                function doFunction(e:Event):void
                {
                    trace("time: " + (int)(getTimer()-startTime));
                    if((int)(getTimer()-startTime)>=3000)
                    {
                        removeEventListener(Event.ENTER_FRAME, doFunction);
                        trace("ended");
                    } 
                }
            }
       }
}
于 2012-09-03T23:57:18.263 に答える