【发布时间】:2010-05-01 05:40:59
【问题描述】:
我认为这是一个非常简单的问题,但我似乎无法解决。基本上我有一个父类A和一个子类B。A类用addChild实例化B类。有一个共享对象正在从 java 服务器 (red5) 更新,该服务器在 A 类中附加了一个事件侦听器。我在 A 类中有一个函数,它将将此共享对象的某些特定更新传递给 B 类。出现的问题是,当实例化 B 类时,来自 A 类的事件侦听器不再起作用。我没有从 A 中删除事件侦听器。有什么想法吗?
【问题讨论】:
-
你的意思是如果你不 addChild(b) 那么事件监听器工作?或者你的意思是如果你不做 var b:B = new B() 那么事件监听器工作?
-
只要我执行 addChild(B)(当我执行 var b:B = new B() 时它仍然有效),A 中的事件侦听器停止工作。基本上我正在创建一个“大厅”(a 类)和“房间”(b 类)。我希望房间使用大厅的某些数据。但是,当我添加child(someRoom) 时,大厅的事件监听器不再调用更新房间的函数(即使共享对象肯定在变化)。
-
我的立场是正确的,一旦我执行 var b:B = new B(),A 中的事件监听器就会停止工作。
-
它们不能相关。 A 的事件有别的东西在搅扰。简单地实例化一个对象不会神奇地移除一个事件监听器..
标签: actionscript-3 red5 shared-objects addchild