原文网址:
---------------
http://director-online.com/dougwiki/index.php/TimeOut#Passing_Parameters_to_
a_Movie_Script
----------------------------
timeout()引入于director 8.0,常用于有规则地呼叫movie script 或者对象实例中的句柄。与之相关的命令或函数有
on timeOut()
timeOutKeyDown
timeOutLapsed
timeOutLength
timeOutMouse
timeOutPlay
timeOutScript
一、TimeOut方法
1.new()
Director MX 2004 (10.x)
vTimeOut = timeOut().new("Name", 1000, #timeOutHandler {, object})
Director 8.0 to MX (9.0)
vTimeOut = timeOut("Name").new(1000, #timeOutHandler {, object})
一旦创建timeout 对象,该对象就自动添加到timeoutList。但是在director mx 2004 中,用法有别于director mx .
要想查看timeoutlist,应该使用:put _movie.timeoutList
2.forget()
vTimeOut = timeOut("Name")
vTimeOut.forget() --从the timeOutList中移出
vTimeOut = VOID --从内存中清除
二、TimeOut properties
1.Name
String name for the timeOut object
2.period(呼叫周期)
以好秒为单位,如果值为0,意思是永远不呼叫。
3.timeOutHandler
4.target
可选属性。如果这时一个脚本或者实例,director将首先传递the timeouthandle事件给目标对象。If it is not a script or instance, or if the target object does not contain the required handler。director 就往上寻找包含该句柄的电影脚本。
5.persistent---不清楚
6.time
跟踪句柄执行程度。-1,可以暂停;1继续执行。可作为执行开关。
具体句法如下:
------
新建电影脚本:
on movieHandler(aParameter, aTimeOut)
put aParameter
end movieHandler
-----------------------------------
message window ---enter(type:)
vTimeOut = timeOut().new("Pass", 1000, #movieHandler, [#parameter])
-- [#parameter]
put _movie.timeoutList
-- [timeOut("Pass")]
put timeout("pass").timeOutHandler
-- #moviehandler
timeout("pass").time=-1
put timeout("pass").time
-- 13403080
put timeout("pass").period
--10000
timeout("pass").period=20000
put timeout("pass").period
-- 20000
vTimeOut.timeOutHandler = "string with more than one word"
put timeout("pass").timeouthandler
-- #string
put timeout("pass").name
-- "Pass"
------------------------------------------------------ |