庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>媒体动画>Director>设计技巧>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Director 如何检测演员的载入进度

 作者:本站收集   日期:2005-6-22
字号选择〖 〗/ 双击滚屏 单击停止   
Director 如何检测演员的载入进度
   原著:lingoworkshop
   翻译:alphachi

   为了优化影片,我们经常需要预载演员。虽然通过使用相关的预载命令或设置演员本身的预载模式就能够达到这一目的,但不要忘记在进行预载时反馈一些相应的动态信息,以保持与用户之间的交互,也就是说,需要检测并显示演员的载入进度。

   通过使用idleLoadtag命令,便可以轻松做到这一点。这个命令允许通过使用一个列表来监测整个载入过程,因此我们可以在发出一个演员预载的命令之前用其来跟踪每个演员。由于只是测算列表项目的载入进度而不是测算演员本身的载入进度,所以无论对于几个小型演员的载入还是许多大型演员的载入,这个方法都非常有效。

   首先让我们来认识一下IdleLoadTag命令:

   语法:
   the idleLoadTag

   描述:
   系统属性,用于在系统等待时标记或识别加载队列的成员数量。这个属性为识别预加载一组成员提供了方便。此属性可以测试和设置。

   例如:
   这条语句将等待加载的成员数量设置为10。
   the idleLoadTag = 10

   下面就是一个控制载入演员列表的父代剧本实例,通过它能够获得演员载入的百分比。

property myDefaultIdleMode
property myLoadtag
property myIndexMax
property myIndex
property myMemberList
property myTimeout

on new ( me , aListofMembers)
me .mInitClass()
me .mInitInstance()
if aListofMembers. ilk = #list then me .mLoadMembers(aListofMembers)
return me
end

on mDestroy ( me )
if myTimeout. ilk = #timeout then myTimeout. forget ()
   myIndex = myIndexMax
cancelIdleLoad (myLoadtag)
the idleLoadMode = myDefaultIdleMode
end

on mLoadMembers ( me , aListofMembers)
   myMemberList = aListofMembers. duplicate ()
   myIndexMax = myMemberList. count
   myIndex = 0
   myTimeout = timeout ( me . string ). new ( 0 , #nothing , me )
the idleLoadMode = 3
end

on mGetPercentageDone ( me )
if myIndexMax > 0 then
return ( float (myIndex)/(myIndexMax))* 100
else
return 100
end if
end

on exitframe ( me )
if idleLoadDone (myLoadtag) then
if me .mLoadNextMember() = 0 then
       myTimeout. target = VOID
       myTimeout. forget ()
the idleLoadMode = myDefaultIdleMode
end if
end if
end

on mLoadNextMember ( me )
if myIndex < myIndexMax then
     myIndex = myIndex + 1
     thisMember = myMemberList[myIndex]
if thisMember. ilk = #member then preLoadMember thisMember
return myIndex
else
return 0
end if
end

on mInitClass ( me )
   myDefaultIdleMode = the idleLoadMode
end

on mInitInstance ( me )
   uniqueName = string ( me ). word [ 4 ]
delete the last char of uniqueName
   myLoadTag = symbol (uniqueName)- 0
   myTimeout = VOID
end


   将下面的Behavior赋予一个进度条,即可显示载入的百分比:

property myLoader

on beginSprite ( me )
   myMembers = [ member ( "blah1" , member ( "blah1" ), member ( "blah3" ))
   myLoader = script ( "MemberLoadMgr_class" ). new (myMembers)
end

on exitframe ( me )
if myLoader. ilk = # instance then
     amntLoaded = myLoader.mGetPercentageDone()
put "loading " & integer (amntLoaded) & "%"
if amntLoaded = 100 then
       myLoader.mdestroy()
       myLoader = VOID
end if
end if
end
上一篇:Director 对象列表的调用与删除    下一篇:Director生成文件减肥技巧  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-6-22
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿