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