网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 图象图形-> Director-> 对象列表的调用与删除

对象列表的调用与删除
作者:佚名 来源:InterNet 加入时间:2005-2-7
相关文章 相关书籍:
在调用一个对象列表时,如果其中一个对象从列表中删除了它本身,那么调用将被中断,而且其后所有对象的调用信息都将被遗漏。在一个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

[文章录入员:nancy]

相关文章 相关书籍:
本站推荐内容

近期主机类热搜关键词:
美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

Director
PhotoShop
CorelDraw
3D-MAX
AutoCAD
FreeHand
Illustrator
Authorware
Director
Maya/Rhino
其它
电脑教程阅读排行
·在Director中使用Powe...
·内存中对象的配置
·Director小技巧
·音频与数字视频、flash音频的...
·认识Director中的Xtra
·控制动画GIF
·Director中各种内部事件发...
·Director8行为库的应用
·用Lingo解决组合问题
·行为库创建技巧