Flash / ActionScript - 关闭辅助功能

时间:2010-09-15 05:33:18

标签: flash actionscript-3 accessibility

我在Flash IDE中设计了一个用户界面,为ActionScript导出了很多对象,并使用外部文档类.as文件对应用程序进行编程。

在Flash IDE中,我不希望任何滑块或textField具有辅助功能选项。我打开辅助功能面板(窗口>其他面板>辅助功能),并选择阶段我取消选中“使电影可访问”。保存。编译。运行时错误:

~/myCustomClass.as, Line 4 1180: Call to a possibly undefined method AccessibilityProperties.

第4行是一个简单的导入:

import flash.display.Sprite;

我该如何解决这个问题?

更新:

将以下导入添加到我的.as中会删除运行时错误:

import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
但是,应用程序仍允许使用Tab键。我怎样才能完全关闭辅助功能?

我试过了:

Sprite.prototype.tabEnabled = false;

但这不起作用。

2 个答案:

答案 0 :(得分:1)

舞台不起作用,但您应该能够使用root。 在Flash IDE中,在主时间轴上添加以下内容:

var main:MovieClip = this.root as MovieClip();
main.tabEnabled = false;
main.tabChildren = false;

答案 1 :(得分:0)

尝试:

stage.tabEnabled = false;
stage.tabChildren = false;

因为每个显示对象都是舞台的子节点,所以它应该全局停止。

更新:

因为您无法在舞台上设置tabEnabled属性,所以您可以遍历它上面的所有子节点并将其应用于它们。

for(var:int; i < stage.numChildren; i++) {
    var c:DisplayObject = stage.getChildAt(i);

    if(c is InteractiveObject) {
        InteractiveObject(c).tabEnabled = false;
    }

    if(c is DisplayObjectContainer) {
        DisplayObjectContainer(c).tabChildren = false;
    }
}