document.selection不可预测的行为

时间:2013-11-07 10:15:40

标签: flash jsfl

我正在使用Flash CS6,我正在尝试开发一个更复杂的脚本,但我坚持以下问题。以下代码的行为与预期不符:

var dom = fl.getDocumentDOM();
dom.selectNone();
fl.trace(dom.selected.symbolType);

我希望有一个错误,告诉我选择没有属性 - 因为我已取消选择all,dom.selected应为空。相反,我得到了这个跟踪输出:

graphic

我的文档有一个包含图形,位图和影片剪辑的库。当我第一次运行这个脚本时,我在舞台上选择了一个图形。在用户界面中,我尝试了:

  • 取消全部
  • 选择不同类型和不同图层的一组元素
  • 选择单个影片剪辑
  • 删除场景中的所有内容,包括所有库项目,框架和图层

无论我做什么,我都会得到输出,告诉我我选择了图片。

经过进一步调查,我重新加载了该文件。这次我运行了没有选择的脚本。我收到了我预期的错误!所以我编辑了脚本以取消取消选择,所以我可以看到有关我当前选择的信息:

var dom = fl.getDocumentDOM();
//dom.selectNone();
fl.trace(dom.selected.symbolType);

然而,然后我选择了一些对象并继续得到“dom.selection为空”错误,好像我仍然没有选择任何东西。所以我退出Flash并再次打开文件。

现在无论我选择了什么,我都会收到错误消息,说明选择为空。所以,我要么缺少必要的东西,要么就是这个对象应该工作的方式。如何按照我的预期访问/设置当前选择?

1 个答案:

答案 0 :(得分:0)

你试过了吗?

var selection = fl.getDocumentDOM().selection[0];