主题:  78-102(全部完成)--By 机器猫

机器猫 5D精英

职务:普通成员
等级:3
金币:10.5
发贴:1197
#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或者标签传递给shockwave影片.
该函数只有针对在浏览器中播放的Shockwave电影才是有效的. 他在编辑状态中的电影或者打包后的电影都是无效的.
范例:这个处理程序决定了是否一个 或者 标签传递任何外部参数给一个shockwave影片并且参数传递中执行lingo语句:
if externalParamCount() > 0 then
-- perform some action
end if
参见:externalParamName(), externalParamvalue()

93
externalParamName()
语法:externalParamName(n)
描述:函数; 返回HTML 标签中的参数列表中某个参数的名字. 这个函数只有针对在浏览器中播放的Shockwave电影才是有效的。他不可以用在Director影片或者放映机中.
如果 n 是一个整型值, externalParamName返回列表中的第n个参数.
如果 n 是一个字符串, externalParamName返回任何名字匹配n的外部参数. 匹配不是大小写敏感的.如果没有匹配的参数名, externalParamName返回VOID.
范例:这个语句把指定外部参数的值放入变量myVariable:
if externalParamName ("swURLString") = "swURLString" then
myVariable = externalParamvalue ("swURLString")
end if
参见: externalParamCount(), externalParamvalue()


94
externalParamvalue()
语法:externalParamvalue(n)
描述:函数; 从外部的HTML标签或者标签中的参数列表中返回一个指定的值.这个函数只有在运行于浏览器中的Shockwave影片中有效. 他不可以使用在制作环境中的影片或者打包项目中.
假如n 是一个整数, externalParamvalue从外部参数列表中返回第n个参数.
假如 n 是一个字符串, externalParamvalue返回第一个名字匹配n的参数的值. 匹配不是大小写敏感的. 如果没有这样的参数存在,externalParamvalue返回VOID.
该函数的行为在一个applet中是不同于其他Director影片中.
在一个applet中, externalParamvalue 做下面的事情:
返回applet的参数而不是 标签的参数.
只接受字符串参数.
返回0长度字串而不是VOID.
参见 在Director Developers Center Web site上的"Parameters for OBJECT and EMBED tags" 和 "Parameters accessible from Lingo".
范例:这句话放置外部参数到一个叫做myVariable的变量中:
if externalParamName ("swURLString") = "swURLString" then
myVariable = externalParamvalue ("swURLString")
end if
参见: externalParamCount(), externalParamName()

95
extractAlpha()
语法: imageObject.extractAlpha()
描述:这个函数复制指定的32位图像的alpha通道成为一个新的图像对象. 结果是一个代表alpha通道的8位灰度图像.
这个函数对于分离带有Alpha通道的32位图像是比较有用的.
范例:这句话把成员1的图像对象的alpha通道放入变量mainAlpha.
mainAlpha = member(1).image.extractAlpha()
参见:setAlpha, useAlpha

96
fadeIn()
语法: sound(channelNum).fadeIn({milliseconds})
fadeIn(sound(channelNum) {, milliseconds })
描述:该功能立即设置channelNum所代表的声音通道中的音量到0然后将音量在指定的毫秒数中提升到当前音量. 默认的是1000毫秒(1秒钟).
当前的设置范围是一直到完全淡入完成为止.
范例:这段lingo把声音通道3中的角色成员introMusic2从开始的地方3秒钟淡入
sound(3).play(member("introMusic2"))
sound(3).fadeIn(3000)
参见: fadeOut(), fadeTo(), pan (sound property), volume (sound channel)

97
fadeOut()
语法:sound(channelNum).fadeOut({milliseconds})
fadeOut(sound(channelNum) {, milliseconds })
描述:该功能在指定的毫秒时间内逐渐减少channelNum所表示的声音通道的音量到0, 或者如果不给出值则默认在1000 milliseconds (1秒钟)完成.
当前的设定范围是持续到完全淡出为止.
范例:该语句在5秒钟内淡出声音通道3:
sound(3).fadeOut(5000)
参见: fadeIn(), fadeTo(), pan (sound property), volume (sound channel)

98
fadeTo()
语法:sound(channelNum).fadeTo(volume {, milliseconds })
fadeTo(sound(channelNum), volume {, milliseconds })
描述:这个函数可以在指定的毫秒时间内渐渐调整声音通道数值所代表的声音通道的音量到指定音量,,如果没有给出值的话,则表示1000 毫秒(也就是1秒钟) . 音量的值范围从0-255.当前的设定是一直保持到完全淡去为止.
要察看在一个完整影片中如何应用fadeTo(), 参见Sound Control 影片,影片在Director目录下的Learning\Lingo Examples 目录中.
范例:这句话改变了声音通道4中的音量到150,持续时间2秒钟. 他可以淡入或者淡出, 依赖于
sound channel 4 当淡入开始时候的原始值.
sound(4).fadeTo(150, 2000)
参见fadeIn(), fadeOut(), pan (sound property), volume (sound channel)

99
FALSE
语法: FALSE
描述:常量; 表示一个表达式的逻辑值是假, 例如 2 > 3. 当作为一个数字常量来处理的时候, FALSE有一个数值是 0. 同样的, 0 也被人作为FALSE.
范例:这句话通过给soundEnabled属性设置成为FALSE来关闭soundEnabled属性:
the soundEnabled = FALSE
参见: if, not, TRUE

100
kerning
语法:member(whichTextMember).kerning
描述:文本角色成员属性; 该属性定义了当文本角色成员的内容改变了以后,文本自动改变间距.
当设置成为TRUE的时候, 间距是自动化的; 当设置成为FALSE,间距不改变.
该属性默认是TRUE.
参见: kerningThreshold

101
kerningThreshold
语法: member(whichTextMember).kerningThreshold
描述:文本角色成员属性; 这个设定控制文本角色成员自动间距的间距大小.这个效果只有当文本角色成员的kerning属性设置为真的时候才有效.
该设置自身是一个整数表示字间距的字体磅值大小.
该属性默认是14磅.
参见:kerning

102
key()
语法: the key
描述: 函数; 显示最近一个被按下的键. 它的值是该键所对应的ANSI值,而不是数值.
你可以在一些事件处理程序中使用the key,例如当用户按下某个特定键作为快捷键或者其他形式的交互方式时候执行一些动作. 当在一个primary事件处理程序中的时候,你定义的动作将被第一个执行.
注意:如果用户在lingo处于repeat循环重的时候按键,the key的值不会更新.
使用范例电影中的键盘lingo来测试测试一下不同键盘的不同键对应什么字符.
范例:这些语句会使得影片在用户按下return键的时候返回主菜单标记.因为the keyDownScript属性设置成为了checkKey,
on prepareMovie事件处理程序使得on checkKey handler事件处理程序在键盘按下的时候成为第一个事件处理程序. on checkKey 事件处理程序检测是否Return键已经被按下,并且如果按下, 导航到主菜单的标记.
on prepareMovie
the keyDownScript = "checkKey"
end prepareMovie
on checkKey
if the key = RETURN then go to frame "Main Menu"
end
范例:这个on keyDown事件处理程序检测是否最近按下的一个键是Enter键并且假如是的, 就呼叫on addNumbers 事件处理程序:
on keyDown
if the key = RETURN then addNumbers
end keyDown
参见: commandDown, controlDown, keyCode(), optionDown


编辑历史:[这消息被机器猫编辑过(编辑时间2001-07-09 01:57:38)]
[这消息被机器猫编辑过(编辑时间2001-07-09 16:54:30)]
[这消息被机器猫编辑过(编辑时间2001-07-09 16:57:07)]
[这消息被机器猫编辑过(编辑时间2001-07-10 07:15:25)]


threem

职务:普通成员
等级:2
金币:1.0
发贴:338
#22001/7/11 19:09:10
供参考!
-------------------------------------------------------------------------------------------------
evalscript:
仅仅包含这些行为Include only those behaviors in on EvalScript that you want users to control; 为了安全的原因,没有给予行为完整的控制.
-- --在ON EVALSCRIPT中仅仅包含那些你想交由用户控制的行为。


eventPassMode:
控制当一个flash影片传递事件给sprite上的行为 mouse events to behaviors that are attached to sprites that lie underneath the flash sprite. The eventPassMode property can have these values:
-- --规定了一个flash电影传递鼠标事件给她相关精灵上的事件脚本时所采取的处理鼠标事件的方式,本属性有四个可能值:

-------------------------------------------------------------------------------------------------------

此刻我手头的IE版本低,IE叶面上有多多乱码。发送的文字可能有乱码!