用面向对象的方法在Flash中用ActionScript 3.0创建工具栏

问题描述

| 我只是深入研究了ActionScript 3和Flash,想知道如何在不进行时间轴编码的情况下为我的应用程序UI创建工具栏,因为这是不好的面向对象实践。例如,我的工具栏有一个指针工具和一个绘图工具。当我单击工具栏中的“指针工具”按钮时,我希望将其按下。我了解您可能必须为每个“按钮状态”创建不同的关键帧,但是如何在不使用goToFrame或时间轴中进行编码的情况下,如何在代码中控制状态?     

解决方法

我在这里看到2个潜在类别: 工具列 工具 随着您个人的课堂扩展工具 绘图工具 指针工具 您的工具栏类将创建和管理工具对象。工具将包含用于单击的事件侦听器,您可以在其中将状态更改为“按下”,依此类推。我可能会在工具栏中有一个类似于“ 0”的属性,并在单击工具时为此属性调用一个setter。有点喜欢
public function set currentTool(tool:Tool):void
{
    // deselect current tool
    _currentTool.gotoAndStop(1);

    // select new tool
    _currentTool = tool;
    tool.gotoAndStop(2);

    // other code
}