代码之家  ›  专栏  ›  技术社区  ›  anon255058

数组工作正常,但得到警告,as3

  •  0
  • anon255058  · 技术社区  · 16 年前


    谢谢。

    TypeError: Error #1010: A term is undefined and has no properties.
        at testONE_fla::MainTimeline/onTimer()
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()
    

    import flash.utils.Timer;
    import flash.events.TimerEvent;
    var prog:Array = ["","prog1","prog2","prog3","prog4","prog5","prog6","prog7"];
    var timer:Timer = new Timer(144);
    timer.addEventListener(TimerEvent.TIMER, onTimer);
    timer.start();
    
    function onTimer(evt:TimerEvent):void {
    var counting:uint = timer.currentCount % 8;
    this[prog[counting]].visible = this[prog[counting]].visible ? false : true;
    }
    

    网状物

    1 回复  |  直到 16 年前
        1
  •  1
  •   iandisme    16 年前

    我猜是因为你在舞台上的物品列表中有一个空字符串。如果用于暂停闪烁,请尝试删除该空字符串并将其用作onTimer事件:

    var prog:Array = ["prog1","prog2","prog3","prog4","prog5","prog6","prog7"];
    
    function onTimer(evt:TimerEvent):void {
    var counting:uint = timer.currentCount % 8;
    if(counting == 0) return;
    counting--;
    this[prog[counting]].visible = !this[prog[counting]].visible;//no need for ternary operator
    }
    

    也许有一个更干净的方法可以做到这一点,但你得到的想法。如果行得通就告诉我。