分享
 
 
 

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

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

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

通过使用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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有