Timer类错误

时间:2014-04-08 14:15:43

标签: actionscript-3 flash actionscript timer

这是我收到的错误。我刚把所有代码都转移到了课堂上。时间轴和类之间变得非常复杂。我有一个MovieClip,其链接属性名为" PopUpItem"每次激活课程时,屏幕上会显示一个项目3秒钟,然后向库存方向移动。我之前在时间轴上工作了,但现在不再了。有什么建议吗?

[SWF] VQuest%20V2.swf - 解压缩后的2955884字节     未定义     在flash.utils :: Timer()     在PopUpItem()[PopUpItem :: PopUpItem:2]

package {
import flash.utils.Timer;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.events.TimerEvent;
import flash.events.Event;

public class PopUpItem extends MovieClip {
    var popUpTimer: Timer = new Timer(1000, 3); // 3 seconds
    var popUpItem: MovieClip = new PopUpItem;
    var i = 0;

public function popUpFunction() {
        popUpTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onComplete);
    }

public function itemReceived(received) {
        for (i = 0; i < 1; i++) {
            addChild(popUpItem);
            popUpItem.popUpAnimation.gotoAndStop(received);
            popUpItem.x = 400;
            popUpItem.y = 250;
            popUpItem.itemText.text = "You got a " + received + "."
            popUpTimer.start();
            popUpItem.play();
        }
    }

public function onComplete(event: TimerEvent): void {
        removeChild(popUpItem);
        i = 0;
    }

}
}

1 个答案:

答案 0 :(得分:0)

我能看到的第一个问题是在PopUpItem类的构造函数中创建一个PopUpItem类的实例 - 这很可能会导致堆栈溢出错误。
如果PopUpItem类是您的主“文档”类,则只需在属性面板中链接到它(从Flash)。
如果您希望PopUpItem类在另一个Class中实例化,请将该实例存储在该OTHER类的变量中 - 不要尝试将PopUpItem实例存储在PopUpItem构造函数的变量中。