首页 | CG软件 | CG信息 | CG教程 | 三维作品 | 设计理论 | CG加油站 | 设计鉴赏 | 社区图库 | Flash | 专题 | 顶客 | 论坛 | 博客 | 导航 | 下载 | 高级搜索
RSS
热门: 3D Total  RPC  Evermotion  效果图  创意  装修  优秀作品  Vray  艺术  欣赏

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

来源:aougu 作者: 时间:2007-09-30 点击:
演员   检测   Director   载入   进度   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
本文地址:http://www.cg3000.com/html/cgTutorials/Multimedia/Director/20070930/Director_ruhejianceyanyuandezairujindu_38071.shtml
上一篇:Director 编写“拼图游戏”(1)
下一篇:Director 相关术语
关键字:迅雷 快车 Baidu Director 检测 演员 载入 进度
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
图腾CG联盟免责声明:本网站转载纯粹出于为网民传递更多信息之目的,无任何商业目的。如本网站转载稿件涉及版权等问题,请作者速来函admincg3000@163.com联系,在此,我们首先向您表示诚挚的歉意,并将尽快予以改正。本网站上发表的内容只代表作者本人之观点,本网站只出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
赞助广告