我有一个控制器对象,我将其他辅助节点作为弱引用附加。该脚本侦听那些其他节点的转换事件,然后执行操作..
问题是当我删除控制器对象时,我无法停止WHEN监听器。
与此同时,我不能永久地在后台运行破坏对象的转换脚本,这似乎是一个简单的概念,有没有办法做到这一点?
答案 0 :(得分:0)
--- ---- EDIT 你能否更准确地勾勒出你正在做的事情,因为在重新阅读之后,我很清楚你是如何处理你的通知的;我假设您使用的是脚本控制器,但似乎您正在使用when构造...您是否可以发布一小段导致问题的内容。
--- ---- EDIT
有几种方法可以在maxscript中处理它。其中没有一个是干净的......
一种至少可以避免错误垃圾邮件的方法是将脚本代码包装在try / catch中。你的捕获应该将脚本控制器“归零”,甚至可以打印给听众发出警告。
作为一个快速的FYI,referenceTarget / referenceMaker接口似乎专门用于处理这类事情。遗憾的是,MAxscript没有实现这一点,AFAIK。
答案 1 :(得分:-1)
如果您正在执行此操作,则不应在脚本控制器中按名称列出对象。您应该创建参数并直接添加节点。
然后,您可以使用isValidNode nodeParam并在尝试对其执行任何操作之前检查它是否有效。