上一篇 | 下一篇

Shockwave预载技术(四)

发布: 2007-1-25 13:55 | 作者: Lingoworkshop | 来源: 译自lingoworkshop.com | 查看: 93次

  原著:Lingoworkshop奥古多媒体b-AS!a.^T
  翻译:alphachi奥古多媒体.q\(T5F?'}/y|6Fs
奥古多媒体-wrr1@C|
  将第一部分曾经使用过的“PreloaderInterface”行为作如下修改:
b kX?R/X&Bf
$D$^YX^Sb+g property myURL, myProgressBarObj
4cv_Y$i(IX ]
_-X XFhxS on beginSprite (me)
E6]$M@{N"n6Y;p   if the runMode = "Author" then clearCache()奥古多媒体B,TPED5R9Q`p
  script("Preloader").new(myURL, me, #mHandlePreloadCompletion, #mShowProgess)奥古多媒体|2PPA ap'ze
end 奥古多媒体0I0\/LLC K `

'Aol,Pgp&UxS"Y_ on exitframe (me)
%VT2h}ll5B   go to the frame奥古多媒体~(j3^^ n;v M
end 奥古多媒体T0BC} _B
奥古多媒体 KG8MO|3Z|S
-- 来自接口对象(例如进度条)的消息
,f6p6F!W`+s+s on mRegisterWidget (me, obj, id)
\NMww/S5W   if id = #ProgressBar then myProgressBarObj = obj
1W)s"m(tBq9M$n@ end
aZ N,b&I!i$@
6|?*OV!R/iv -- 来自“Preloader”对象的消息
&^#YI7aI(b on mHandlePreloadCompletion (me, errorMsg)奥古多媒体4_,S8L"K&pn5`
  if errorMsg <> EMPTY then alert "Network Error!" & return & errorMsg奥古多媒体~P5p4@-Z
  else alert "All Done"
P$E#WWa8] fP end 奥古多媒体ALPz;s`@ f,i4~

2fvsJav'{h p#b on mShowProgess (me, statusList)奥古多媒体&{~y5~ gs
  if myProgressBarObj.ilk = #Instance then
Q%w%?M1Z%M+d     if statusList.state = "InProgress" then myProgressBarObj.mShowProgress(statusList.fractionDone)
2~z/O.Y3Hn)@5\}] W     else myProgressBarObj.mShowWorking()
}}l"Vp4n7rx   end if奥古多媒体Wt#VO l3I+s
end 奥古多媒体7p jHFK] C)[{7z

]eX)X,S -- 构造行为奥古多媒体%R^;n'QUb(EK
on getPropertyDescriptionList (me)
o/VP.vgvA   pdList = [:]
3e&y_ f X3U0f w*Y   pdList[#myURL] = [#Comment: "URL", #format: #String, #Default: "http://www.lingoworkshop.com/Tutorials/Preloader/Main.dcr"]奥古多媒体)_E-CF?Se)F N Q
  return pdList奥古多媒体8}*WZ P/Y m KXJ
end

O,ugC'h!C9R 奥古多媒体d2EQ/GJf_
  现在,让我们看看所有代码的运行过程:奥古多媒体pjgWl

7rG3a zgJ Q8G*y n   (1)当“PreloaderInterface”行为被实例化并接收到了beginSprite事件时,会创建一个新的“Preloader”对象并指定预载完成或正在进行时需要调用的处理程序。
#vrte)tWe/z
9?,~~1PN yR3l2B   (2)当“ProgressBar”行为被实例化之后,会发送一个带有其本身引用的mRegisterWidget消息,此外还有可能包括一个ID以便别的对象能够识别其组件类型。当“PreloaderInterface”对象收到此消息时,会将“ProgressBar”对象的引用存储在一个名为“myProgressBarObj”的变量中。
4HN C3f.G$Qc
b[5[&I DF4aU\   (3)预载一旦进行,“Preloader”对象则开始给“PreloaderInterface”对象发送mShowProgress消息。然后,“PreloaderInterface”对象将会给“ProgressBar”对象发送mShowWorking和mShowProgress消息,不过这取决于预载是否已经真正开始。奥古多媒体UkJ*S&_$g ?Q

4{I:[h1S&Z!N
奥古多媒体k,j%oIT3}y
奥古多媒体Yu)I0w\v
  相关附件

字号: | 推荐给好友

 

评分:0

我来说两句

seccode


最新歌曲
转机 放生 黄玫瑰 摇啊摇 那滋味 擦肩而过 你若成风 幸福一辈子 依然在一起 吻得太逼真 感动天感动地 坐上火车去拉萨 怎么会狠心伤害我
心碎 冲动 小太阳 别碰我 蒲公英 爱情小偷 只要不亏 一定要爱你 等爱的玫瑰 无情的温柔 北极星的眼泪 最后一次的温柔 亲爱的那不是爱情
光荣 火花 下雨天 我可以 樱花草 为你写诗 独家记忆 再见小时候 寂寞才说爱 忘不掉的伤 爱上你是个错 第三者的第三者 孤独的时候可以抱你
假如 城府 是非题 有缘人 舍不得 我的答铃 只欠秋天 外滩十八号 越爱越难过 123木头人 爱走了心碎了 爱上你是我的错 爱情里没有谁对谁错