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



我刚刚深入研究了Actionscript 3和Flash,想知道如何在不在Timeline中编码的情况下为我的应用程序的UI创建工具栏,因为这是一种糟糕的面向对象做法。例如,我的工具栏有一个指针工具和一个绘图工具。当我单击工具栏中的指针工具按钮时,我希望它被按下。我知道你可能需要为每个"按钮状态"创建不同的关键帧,但如果不使用goToFrame或Timeline中的编码,我如何在代码中控制状态?

我在这里看到了两个潜在的类:

  1. 工具栏
  2. 工具

随着你的个人类扩展工具

  1. DrawTool
  2. 指针工具

Toolbar类将创建和管理Tool对象。该工具将包含用于单击的事件侦听器,在这里您可以将状态更改为按下等。我可能在Toolbar中有一个类似_currentTool的属性,并在单击工具时调用该属性的setter。有点像。。

public function set currentTool(tool:Tool):void
{
    // deselect current tool
    _currentTool.gotoAndStop(1);
    // select new tool
    _currentTool = tool;
    tool.gotoAndStop(2);
    // other code
}

相关内容

  • 没有找到相关文章

最新更新