我有一个包含多个子链接的链接,我想为每个子链接添加事件处理程序。我注意到一些奇怪的行为:如果我的脚本中只包含一个打印语句,它会被执行一次。但是,当我使用一个for循环时,该循环会被触发两次。这是一个已知的行为吗?

image

输出面板会自动丢弃相同的重复消息。

是的,你说得对,我忘了这一点。所以脚本默认会被执行两次吗?

可能是一个 bug。

然而,在脚本的全局“模块”作用域中执行操作通常是有问题的,因为该作用域会在多种不同的情况/上下文中被执行,例如:

  • 当脚本代码更改且仿真处于重置状态时。
  • 脚本在模拟过程中被修改,然后模拟被重置时的情况。
  • 在布局加载期间,处于合并目标世界的一个内部世界中。
  • 在组件加载期间,显然直接在合并目标世界中。
  • 在特殊组件加载期间,比如那些永远不会附加到任何世界的产品类型模板。

如果脚本访问父组件之外的内容,这些情况就很重要,但这似乎不是你的使用场景。

看起来你也在使用外部编辑器。根据脚本文件如何写入磁盘以及VC(版本控制)对这些更改产生的文件系统事件的反应,这也可能影响情况。

1 个赞

感谢详细的回复。