现在的位置: 首页 >> 多媒体 >> Director >> Director 对象列表的调用与删除
添加时间:2005-10-29 来源:网教中国 作者: unknown
Director 对象列表的调用与删除

Director 对象列表的调用与删除
   原著:lingoworkshop
   翻译:alphachi

   在调用一个对象列表时,如果其中一个对象从列表中删除了它本身,那么调用将被中断,而且其后所有对象的调用信息都将被遗漏。在一个stepframe事件中,如果一个对象从actorList中删除了它本身,将会发生同样的问题。

   例如,有五个对象A、B、C、D和E,首先使用call(#HandlerName, ListOfObjects)调用它们,那么此后若对象“B”从列表中删除了它本身,则对象C、D和E都将无法收到调用命令。

   要避免这个问题,有两种方法:

   1. 调用原列表的一个副本,这样既能使对象删除自己,而且又保持了列表本身的完整性。通常情况下,这种方法是最简单有效的(尤其是在列表本身所涉及的对象比较简单时)。

   2. 创建一个临时列表,用以纪录那些需要删除的对象,当调用结束后,再根据此列表进行删除。下面便是一个简单的例子:

on mUpdateObjects
   garbageList = []
call ( # mUpdate, listOfObjects, garbageList)
repeat with anObject in garbageList
     listOfObjects. deleteOne (anObject)
end repeat
end

on mUpdate ( me , garbageList)
if removeMe() then garbageList. append ( me )
else ... update as normal
end
上一篇:用Lingo解决组合问题 下一篇:Director 如何检测演员的载入进度
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
 
相关文章
·Director 对象的性质
最新文章
·发布Director MX 2004
·DirectMedia Xtra 在 Director
·Speech Xtra 应用(Director MX
·谈谈Director作品的发布模式
·关于多媒体程序运行速度的研究
·Director MX 2004教程--哪些人适
·Director MX 2004教程--常用多媒
·Director MX 2004教程--为什么选
·Director MX 2004教程--Director
·Director MX 2004教程--Director
Google