#12001/7/9 1:56:26
78
on endSprite
语法
on endSprite
statement(s)
end
描述: 系统消息和事件处理程序;在播放头离开一个sprite并且进入了一个不存在该sprite 的帧中的时候,执行其中包含的Lingo语言. 他在exitFrame以后发生.endSprite事件处理程序放在行为脚本中.
一旦endSprite事件发生,Director就破坏附在Sprite上的任何行为脚本的例程.
如果这个事件在一个行为中被使用,他将被传递到行为或者帧脚本所引用的me对象去.如果播放头播放到了一帧的结束endSprite消息将在exitFrame消息之后发送.
go, play, 和updateStage命令在on endSprite处理程序中无效.
范例:该处理程序在播放头退出一个sprite的时候执行:
on endSprite me
-- clean up
gNumberOfSharks = gNumberOfSharks - 1
puppetSound(5,0)
end
参见 on beginSprite, on exitFrame
79
endTime
语法 sound(channelNum).endTime
the endTime of sound channelNum
描述:这个属性是定义当前正在播放或者暂停的以及待播放的声音的终止时间.这是当声音成员停止播放时的时间. 这是一个浮点数, 用来测量和控制声音的播放到毫秒级精确度.默认的值是声音的正常结束时间.
只有当这个属性作为参数在queue()或者setPlayList()命令中使用的时候, 这个属性才可以设置为别的值,而不用正常声音结束的时间作为值.
范例:这段检查是否声音成员Jingle在声音通道1中被完全播放了:
if sound(1).startTime > 0 and sound(1).endTime < member("Jingle").duration then
alert "Not playing the whole sound"
end if
参见: setPlaylist(), queue(), startTime
80
ENTER
语法 ENTER
描述:字符常量; 代表 Enter键(Windows)或者Return键
(Macintosh) 来进行回车换行.
在PC键盘上, ENTER仅仅代表数字键盘上的Enter键.
在一个作为程序运行的影片中, 使用RETURN来定义Windows中的Return
键和Macintosh上的Enter键.
范例:这个语句检查是否Enter键被按下并且如果是, 把播放头移动到叫做addSum的帧:
on keyDown
if the key = ENTER then go to frame "addSum"
end
参见: RETURN (constant)
81
on enterFrame
语法:
on enterFrame
statement(s)
end
描述:系统消息和事件处理程序;每次播放头进入该帧的时候就执行包含在里面的语句.
on enterFrame事件处理程序放在行为,帧或者电影脚本中.像下面这样:
要分配一个处理程序给独立的sprite, 把处理程序写进一个附在sprite上的行为中.
要分配一个处理程序给独立的帧, 把处理程序写进帧脚本.
分配处理程序到每一个帧中 (unless you explicitly instruct the movie
otherwise), 把 on enterFrame 处理程序写入电影脚本中. 处理程序每次会在播放头进入一帧的时候执行除非帧脚本由自己的处理程序. 如果帧脚本由自己的处理程序, 帧脚本中的on enterFrame
会忽略电影脚本中的on enterFrame处理程序.
帧事件的处理顺序是 stepFrame, prepareFrame, enterFrame, 和 exitFrame.
如果应用在行为中,该事件将传递给对应的me对象.
范例:该处理程序关闭sprite 1 到 5 的puppet属性,当播放头进入该帧的时候:
on enterFrame
repeat with i = 1 to 5
puppetSprite i, FALSE
end repeat
end
82
environment
语法: the environment
the envrionment.propertyName
描述:系统属性;这个属性包含一个关于当前director正在运行内容的环境信息的列表.这个设计允许Macromedia将来添加信息到环境变量属性而不影响已经存在的影片.
信息是由该地区的属性和值匹配而成.
----------------------------------------------------------
#shockMachine 整型 TRUE或者FALSE值显示影片是否在ShockMachine中播放.
#shockMachineVersion 字符串 显示当前shockmachine的版本.
#platform 字符串 包含"Macintosh,PowerPC", 或者"Windows,32". 这是基于当前的影片运行的操作系统版本和硬件.
#runMode 字符串 包含 "Author", "Projector", "Plugin", 或者"Java Applet". 这是基于当前影片运行在何种程序之下的.
#colorDepth 整型 代表舞台所在的显示器的颜色位深度,可以是 1, 2, 4, 8, 16,or 32.
#internetConnected 符号类型 代表是否运行影片的机器连接internet已经激活. 可以的值是#online and #offline.
#uiLanguage 字符串 用来表示当前计算机显示用户界面使用的语言.这个不同于#osLanguage探测某种语言包是否已经安装在系统上.
#osLanguage 字符串 表示计算机操作系统的默认语言.
#productBuildVersion 字符串 表示播放程序内置的版本号.
---------------------------------
属性包含精确包含了对应的值和值对应的功能.
范例:这句话在Message窗口中显示环境列表.:
put the environment
-- [#shockMachine: 0, #shockMachineVersion: "", #platform: "Macintosh,PowerPC",
#runMode: "Author", #colorDepth: 32, #internetConnected: #online, #uiLanguage:
"English", #osLanguage: "English", #productBuildVersion: "151"]
参见 colorDepth, platform, runMode
83
erase member
语法: member(whichCastMember).erase()
erase member whichCastMember
描述:命令; 删除给定的角色成员并让他在角色窗口重的位置空.
为了最好的达到效果,在编辑环境下用而不要在放映机里面用, 因为这会导致内存问题.
范例:这个语句删除叫做"Gear"的角色成员在Hardware演员表中:
member("Gear", "Hardware").erase()
范例:这个处理程序删除角色成员从start一直到finish:
on deleteMember start, finish
repeat with i = start to finish
member(i).erase()
end repeat
end on deleteMember
参见 new()
84
on EvalScript
语法:on EvalScript aParam
statement(s)
end
描述: 系统信息和事件处理程序; 在一个Shockwave影片中, 当处理程序从浏览器接受到一个EvalScript消息的时候包,其中包含的语句执行.EvalScript消息可以包含一个字符串,Director可以把他直接转换成为Lingo 语句. Lingo 不可以接受嵌套的字符串. 如果你所调用的事件处理程序需要一个字符串作为参数, 用符号作为参数进行传递.
on EvalScript事件处理程序被浏览器中javascript或者VBScript的EvalScript()脚本方法调用.
Director java播放器不支持on EvalScript处理程序. 为了实现applet和浏览器的通讯, 使用Java, javascript,或者VBScript.仅仅包含这些行为Include only those behaviors in on EvalScript that you want users to control; 为了安全的原因,没有给予行为完整的控制.
注意:如果你在EvalScript事件结束处加上回车, 返回的值可以被浏览器中的javascript调用.
范例:他显示了如何使播方头跳转到指定的帧,而这个动作取决于哪个帧被作为参数传递::
on EvalScript aParam
go frame aParam
end
范例:这个处理程序在收到EvalScript 消息中包含dog, cat, 或者tree作为一个参数的时候执行其中的语句:
on EvalScript aParam
case aParam of
"dog", "cat", "tree": go frame aParam
end case
end
呼叫这个选项的javascript语句可以这样写EvalScript ("dog").
范例:这个处理程序获取一个参数可以是一个数值或者符号:
on EvalScript aParam
if word 1 of aParam = "myHandler" then
do aParam
end if
end
范例:这个处理程序通常需要一个字符串作为他的参数. 参数被作为符号接收然后在处理程序中用string函数转换成为字符串:
on myHandler aParam
go to frame string(aParam)
end
参见: externalEvent, return (keyword)
85
eventPassMode
语法: sprite(whichFlashSprite).eventPassMode
the eventPassMode of sprite whichFlashSprite
member(whichFlashMember).eventPassMode
the eventPassMode of member whichFlashMember
描述:Flash 角色成员属性和sprite属性; 控制当一个flash影片传递事件给sprite上的行为 mouse events to behaviors that are attached to sprites that lie underneath
the flash sprite. The eventPassMode property can have these values:
#passAlways (default)—总是传递鼠标事件.
#passButton—当flash影片中的按钮被单击的时候传递鼠标事件.
#passNotButton—当一个非按钮对象被单击传递鼠标事件.
#passNever—从不传递鼠标事件.
这个属性可以被测试和设置.
范例:这个帧脚本监测Flash 影片sprite中的一个按钮是否有效,如果有效, 设置eventPassMode为 #passNotButton; 如果按钮无效, 脚本设置eventPassMode到#passAlways. 脚本的效果如下:
在非按钮对象上的鼠标事件总是传递给sprite脚本.
在按钮对象上的鼠标事件当按钮无效的时候传递给sprite脚本,有效的时候, 按钮上的鼠标事件停止.
on enterFrame
if sprite(5).buttonsEnabled = TRUE then
sprite(5).eventPassMode= #passNotButton
else
sprite(5).eventPassMode = #passAlways
end if
end
86
exit
语法:exit
描述:关键字; 指示lingo离开一个处理程序返回到呼叫这个处理程序的地方.如果处理程序是嵌套在别的处理程序中的, Lingo返回主处理程序.
范例:第一句脚本检查显示器是否设置成为黑白模式如果是的话就返回:
on setColors
if the colorDepth = 1 then exit
sprite(1).foreColor = 35
end
参见: abort, halt, quit, pass, return (keyword)
87
on exitFrame
语法:on exitFrame
statement(s)
end
描述:系统消息和事件处理程序;exitFrame包含的语句将在每次播放头退出该帧的时候执行. on
exitFrame 处理程序是一个比较有用的地方来使得lingo重新设置离开帧之后的环境。on exitFrame事件处理程序放在行为, 帧或者电影脚本中,就像下面这样:
分配处理程序给独立的sprite, 把处理程序写在依附在sprite上的行为中.
分配处理程序给独立的帧, 把处理程序写在帧脚本中.
分配处理程序到每个帧除非有其他额外的条件,否则就把处理程序放在电影脚本中. on exitFrame处理程序就在每次播放头退出一个帧的时候生效,除非这个帧有自己的on exitFrame处理程序. 当该帧脚本有自己on exitFrame处理程序的时候, 该帧on exitFrame 处理程序取代电影脚本中的那个处理程序.
如果应用在行为或者帧脚本中,该事件将传递给对应的me对象.
. 帧事件的处理顺序是prepareFrame, enterFrame, 和 exitFrame.
范例:该处理程序关闭所有的puppet属性,当播放头退出该帧的时候:
on exitFrame me
repeat with i = 48 down to 1
sprite(i).puppet = FALSE
end repeat
end
范例:这个处理程序分支指定当播放头到达一个指定的帧,也就是全局变量vTotal所定义的超过第1000帧的时候跳转到指定的帧。处理程序为当播放头退出该帧的时候:
global vTotal
on exitFrame
if vTotal > 1000 then go to frame "Finished"
end
参见: on enterFrame
88
exitLock
语法:the exitLock
描述:影片属性; 决定用户是否可以从放映机退回到Windows 桌面或者
Macintosh Finder (TRUE真) 或者 (FALSE假, 默认值).
用户要退回到桌面可以按Control+period (Windows) 或者
Command+period (Macintosh), Control+Q (Windows) 或者 Command+Q
(Macintosh), 或者 Control+W (Windows) 或者 Command+W (Macintosh); Escape 键同样在Windows中适用.
这个属性可以被测试也可以被设置.
范例:这个语句设置exitLock属性为真:
set the exitLock to TRUE
范例:设置exitLock为真, 那样按Control+period/Q/W, Esc, 或者 Command+period/Q/W keys 将不会自动退出。这个处理程序监测输入的退出键,然后把用户带到自定义的退出程序:
on checkExit
if the commandDown and (the key = "." or the key = "q") and the exitLock = TRUE then
go to frame "quit sequence"
end
89
exit repeat
语法:exit repeat
描述:关键字; 指示Lingo离开一个repeat循环并且执行end repeat后面的语句,但是仍然在当前的事件处理程序和方法中。exit repeat 关键字在满足条件终止repeat循环的时候比较有用—例如当2个值相等或者一个变量等于某个值的条件满足的时候.
范例:这个事件处理程序在变量teststring所表示字串搜索第一个元音字母的位置. 一旦第一个元音字母找到了, exit repeat 命令指示Lingo离开repeat循环接着执行语句return i:
"on findVowel testString
repeat with i = 1 to testString.char[testString.char.count]
if ""aeiou"" contains testString.char[i] then exit repeat
end repeat
return i
end"
参见:repeat while, repeat with
90
exp()
语法:(integerOrFloat).exp
exp(integerOrFloat)
描述:函数; 计算e, 自然对数的底的幂次方, 幂由integerOrFloat指定.
范例:接下来的语句计算了e的5次幂的值:
put (5).exp
-- 148.4132
91
externalEvent
语法:externalEvent "string"
描述:命令;发送一个字符串到浏览器,浏览器可以把他翻译成为一个脚本指令, 允许一个在浏览器中播放的影片可以和被嵌入的HTML页面通信. externalEvent发送的字符串必须是浏览器支持的脚本语言.
该命令只能在浏览器中运行的影片使用. 为了实现applet和浏览器之间的通讯,要使用Java, javascript, or VBScript.
注意: externalEvent命令不提供返回值. 没有一种即时的方法可以判断是否浏览器接受到了或者忽略了事件. 在浏览器中使用on EvalScript返回一个消息到影片.
范例:在LiveConnect的编写环境中这些语句使用externalEvent,他们被Netscape 3.x 和以后版本支持.
LiveConnect 转换externalEvent传递来的参数作为函数调用.
javascript编写者必须定义和命名这个函数在html的头部. 在影片中, 函数名和参数在externalEvent里面被定义成为一个字符串.因为参数必须被浏览器当作一个单独的字符串识别, 每个参数用单引号包围.
在html中的语句:
function MyFunction(parm1, parm2) {
//script here
}
Statements within a script in the movie:
externalEvent ("MyFunction('parm1','parm2')")
范例:这些语句用externalEvent在ActiveX脚本编写环境中,可以被windows中的
Internet Explorer使用. ActiveX把externalEvent当作一个事件处理并且处理这个事件和它的字符串参数,就像在一个按钮对象上的onClick事件一样.
HTML语句:
在html头部, 定义一个函数捕捉事件;这个例子在VBScript中这样写:
Sub
NameOfShockwaveInstance_externalEvent(aParam)
'script here
End Sub
Alternatively, define a script for the event:
在影片中, 包含函数和任何参数作为字符串的一部分.例如externalEvent:
externalEvent ("MyFunction ('parm1','parm2')")
参见 on EvalScript
92
externalParamCount()
语法:externalParamCount()
描述:函数; 返回参数号码,参数号码由一个HTML
编辑历史:[这消息被机器猫编辑过(编辑时间2001-07-09 01:57:38)]
[这消息被机器猫编辑过(编辑时间2001-07-09 16:54:30)]
[这消息被机器猫编辑过(编辑时间2001-07-09 16:57:07)]
[这消息被机器猫编辑过(编辑时间2001-07-10 07:15:25)]