主题:  178-199(Done)-by机器猫

机器猫 5D精英

职务:普通成员
等级:3
金币:10.5
发贴:1197
#12001/7/11 8:28:28
178
sampleCount
语法: sound(channelNum).sampleCount
the sampleCount of sound(channelNum)
描述:只度属性; 当前channelNum表示的声音通道中正在播放的声音的采样值. 这是一个采样的纯数值, 基于sampleRate采样频率和声音长度.和声音的通道数无关.
一段1秒钟, 44.1 KHz 声音包含44,100 采样.
例如:这句话显示了当前正在声音通道1中正在播放的角色成员的名字和采样值在Message窗口中.
put "Sound cast member" && sound(1).member.name && "contains" && \
sound(1).sampleCount && "samples."
参见: channelCount, sampleRate, sampleSize

179
sampleRate
语法:member(whichCastMember).sampleRate
the sampleRate of member whichCastMember
sound(channelNum).sampleRate
描述: 角色成员属性; 返回, 每秒的采样, 声音角色成员或者是swa声音(原始文件被shockwave audio编码压缩过)的采样频率. 该属性只有当SWA声音开始播放或者该文件被preLoadBuffer命令预装载以后才会有效. 而当指定了一个声音通道以后, 获得的结果是指定声音通道中正在播放的声音角色成员的采样率.
这个属性可以被测试但是不能被设置. 标准值为 8000, 11025, 16000,
22050, 和 44100.
当多个声音在声音通道中排成队列按照顺序播放时, Director都按照队列中的第一个声音的通道数channelcount, 采样率sampleRate, 和采样大小sampleSize进行播放,
对于其余的重新采样以获得平滑的播放效果. Director只有在队列空或者使用了stop()命令以后才会重新改变值. 下一个排队的或者播放的声音会取新设置.
范例:这句话把swa流角色成员Paul Robeson的初始采样率赋值给文本域角色成员Sound Quality的文本内容:
member("Sound Quality").text = string(member("Paul Robeson").sampleRate)"
范例:这句话显示了正在声音通道1中播放的声音的采样率到Message window:
put sound(1).sampleRate

180
sampleSize
语法: member(whichCastMember).sampleSize
the sampleSize of member whichCastMember
sound(channelNum).sampleSize
描述:角色成员属性;决定指定角色成员的采样尺寸.
结果通常是8或者16位. 如果声音通道指定, 这个值就是当前正在该声音通道中播放的声音角色的值.
这个属性可以被测试但是不能被设置.
范例:这句话检查声音角色成员Voice Over的采样尺寸并且把值赋值给变量soundSize:
soundSize = member("Voice Over").sampleSize
范例:这句话在message 窗口中显示当前声音通道1中播放的声音的采样尺寸:
put sound(1).sampleSize

181
save castLib
语法:castLib(whichCast).save()
castLib(whichCast).save(pathName & newFileName)
save castLib whichCast {,pathName&newFileName}
描述:命令;保存已经改变的角色到原来的角色文件, 如果可选参数pathName路径名:newFileName新文件名都在命令中制定了,则保存这个改变了的角色到新文件. 如果没有指定文件名,原来的外部角色必须已经链接了.保存之后,对该角色的操作或者引用将使用已经保存的角色成员.
这个命令不能再压缩过的文件上使用.
save CastLib命令不支持URLs作为文件引用方法.
范例:这句话让Diretor把修改过的Buttons角色保存在同一目录下的UpdatedButtons文件中:
castLib("Buttons").save(the moviePath & "UpdatedButtons.cst")
参见: also @ (pathname)

182
on savedLocal
语法: on savedLocal
statement(s)
end
描述:系统消息和事件处理程序; 这个属性用来允许将来版本的shockwave中的增强功能.
参见: allowSaveLocal

183
scoreSelection
语法: the scoreSelection
描述:影片属性; 确定score窗口中哪个通道被选择. 获得的信息是一个线性列表. 每相邻的选择是一组格式化的数据包含,通道号,结束通道号, 开始帧数和结束帧数. 通过sprite通道号定义sprite通道; 使用下列数据来定义其他通道.
---------------------------------------------
要定义的通道: 使用号码:
---------------------------------------------
Frame script channel(帧脚本通道) 0
Sound channel 1 (声音通道1) -1
Sound channel 2 (声音通道2) -2
Transition channel (转场通道) -3
Palette channel(调色版通道) -4
Tempo channel(节奏通道) -5
-----------------------------------------
你可以选择不连续的通道或者帧.
这个属性可以被测试和设置.
范例:这句话在第100帧到第200帧选择sprite通道15到25:
set the scoreSelection = [[15, 25, 100, 200]]
范例:这句话在第100帧到200帧选择sprite 通道15到25和40到50:
set the scoreSelection = [[15, 25, 100, 200], [40, 50, 100, 200]]
范例:这句话选在第100帧到第200帧择帧脚本:
set the scoreSelection = [[0, 0, 100, 200]]

184
script
语法: the script of menuItem whichItem of menu whichMenu
childObject.script
the script of childObject
描述:菜单条和子对象属性.
如果应用于菜单条, 功能是决定选中菜单条的时候执行哪条lingo语句. whichItem 表达式也可以是一个菜单条名字或者菜单条编号; whichMenu 表达式可以是一个菜单名字或者菜单编号.
当一个菜单安装了以后, 脚本在菜单定义中跟在“?“字符的后面.
这个属性可以测试和设置.
注意:shockwave中菜单无效.
对于子对象来说, 返回的值是子对象的父脚本.
这个属性可以测试但是不能设置.
要察看在完整电影中使用一个脚本的范例, 参见父脚本电影位于director目录下的Learning\Lingo Examples 目录.
范例:这句话设置当用户单击菜单中的Go命令的时候执行goHandler处理程序:
set the script of menuItem "Go" of menu "Control" to "goHandler"
范例:这句Lingo检查是否一个子对象是父脚本Warrior Ant的一个实例:
if bugObject.script = script("Warrior Ant") then
bugObject.attack()
end if
参见: checkMark, installMenu, menu, handlers(), scriptText

185
scriptInstanceList
语法: sprite(whichSprite).scriptInstanceList
the scriptInstanceList of sprite whichSprite
描述: Sprite 属性; 按照附着于一个sprite的脚本创建一个脚本列表. 这个属性只有在运行的时候有效. 当影片不运行的时候烈表是空的.列表的修改将不会保存在Score中. 这个属性在下面的任务中是比较有用的:
在运行时给Sprite附着一个行为来使用
指定是否行为附着于一个sprite; 指定那是什么行为
和sendSprite 命令一起用来找一段行为对应的对象
这个属性可以被测试和修改. (只有在sprite已经存在而且至少一个行为实例附着在他上面的时候可以)
范例:这个处理程序显示一个sprite上的脚本列表:
on showScriptRefs spriteNum
put sprite(spriteNum).scriptInstanceList
end
范例:这些语句把脚本Big Noise附着到sprite 5:
x = script("Big Noise").new()
sprite(5).scriptInstanceList.add(x)
参见: scriptNum, sendSprite

186
scriptList
语法: sprite(whichSprite).scriptList
the scriptList of sprite whichSprite
描述: Sprite 属性;返回指定sprite上的行为列表和他们的属性. 这个属性只可使用setScriptList()设置. 不能在score记录session的时候使用.
范例:这句话显示sprite 1的脚本列表到Message窗口:
put sprite(1).scriptList
-- [[(member 2 of castLib 1), "[#myRotateAngle: 10.0000, #myClockwise: 1,
#myInitialAngle: 0.0000]"], [(member 3 of castLib 1), "[#myAnglePerFrame: 10.0000,
#myTurnFrames: 10, #myHShiftPerFrame: 10, #myShiftFrames: 10, #myTotalFrames: 60,
#mySurfaceHeight: 0]"]]
参见:setScriptList(), value()

187
scriptNum
语法: sprite(whichSprite). scriptNum
scriptNum of sprite whichSprite
描述: Sprite 属性; 给出whichSprite所指定的sprite上的脚本号码.如果sprite有多个脚本附着, scriptNum sprite 属性返回第一个脚本的号码. (要了解一个sprite上的脚本的完整列表, 参见行为面板中该sprite的行为列表.)
当Score 在记录的session时候,这个属性可以测试和设置.
范例:这个属性显示sprite 4上面的脚本编号:
put sprite(4).scriptNum
参见: scriptInstanceList

188
scriptsEnabled
语法: member(whichCastMember).scriptsEnabled
the scriptsEnabled of member whichCastMember
描述: Director 影片角色成员属性; 指定示否一个联结影片中的脚本允许(TRUE 或者 1) 还是不允许disabled (FALSE 或者 0).
这个属性值对于联结的Director影片角色成员有效.
该属性可以测试和设置.
范例:这句话关闭联接影片Jazz Chronicle中的脚本:
member("Jazz Chronicle").scriptsEnabled = FALSE

189
scriptText
语法: member(whichCastMember).scriptText
the scriptText of member whichCastMember
描述:角色成员属性; 显示whichCastMember指定的角色带有的脚本的内容.脚本的文本在影片编译成为放映机,保护程序或者压缩的shockwave的时候被去掉.这样的影片就没有scriptText这样的角色成员属性值了.因此,一旦影片编译成为放映机的时候,片的scriptText角色成员属性值不能保存下来.
Director可以在项目中设置scriptText 角色成员属性的新值.这些新附加的脚本自动编译所以可以快速执行.
该属性可以设置和测试.
范例:这句话让角色成员30的脚本等于角色成员20的文本域内容:
member(30).scriptText = member(20).text

190
scriptType
语法: member whichScript.scriptType
the scriptType of member whichScript
描述:角色成员属性,显示指定的脚本类型。可以的值是#movie, #score, and #parent.
范例:该语句让脚本成员Main Script变成一个电影脚本:
member("Main Script").scriptType = #movie

191
scrollByLine
语法: member(whichCastMember). scrollByLine(amount)
scrollByLine member whichCastMember, amount
描述:命令; 按amount给出的行数来上/下滚动文本域或者文本角色对象. (行的定义是每个回车就是一行, 不是自动换行.)
当amount是正值,文本域向下滚动.
当amount是负值,文本域向上滚动.
范例:该语句将文本域角色成员Today's News下滚5行:
member("Today's News").scrollbyline(5)
范例:该语句将文本域角色成员Today's News上滚5行:
scrollByLine member "Today's News", -1

192
scrollByPage
语法:member(whichCastMember). scrollByPage(amount)
scrollByPage member whichCastMember, amount
描述:命令; 按amount指定的页数把文本角色成员或者文本域上下翻页. 一页等于屏幕上可见的文本的行数.
当amount是正数, 文本域往下滚动.
当amount是负数, 文本域向上滚动.
Director java版播放器不支持scrollByPage member 属性. 使用scrollTop member 属性来书写Lingo控制文本滚动.
范例:这句话滚动文本域角色Today's News 向下一页:
member("Today's News").scrollbypage(1)
范例:这句话滚动文本域角色Today's News 向上一页:
member("Today's News").scrollbypage(-1)
参见:scrollTop

193
scrollTop
语法: member(whichCastMember).scrollTop
the scrollTop of member whichCastMember
描述:角色成员属性; 可设定,单位是象素, 是指从域文本cast member的最顶部到当前可见的域的滚动框的顶部的距离。
当在电影播放时, 改变member的scrollTop属性, 你可以调整域文本在滚动框内的可见部分
这也是实现自定义滚动行为的方法, 适用于文本和域文本。
例如:下面的例子里, lingo 可以在滚动框里上下移动cast member"Credits"内的内容
移动的距离取决于变量"sliderVal"的值:
global sliderVal
on prepareFrame
newVal = sliderVal * 100
member("Credits").scrolltop = newVal
end
全局变量sliderVal 用来评估用户移动滚动条的距离.
set newVal = sliderVal * 100 转换滚动条的移动距离为文本移动的距离。如果 sliderVal 是正值则文本向上移动, 反之向下。

这个例子重复一个循环使scrollTop的值递增从而使得域文本"Credits"连续滚动。

on wa
member("Credits").scrollTop = 1
repeat with count = 1 to 150
member("Credits").scrollTop = member("Credits").scrollTop + 1
updateStage
end repeat
end

194
searchCurrentFolder
语法: the searchCurrentFolder
描述:系统属性; 决定是否Director搜索文件名的时候是否搜索当前目录. 该属性默认为真.
当searchCurrentFolder属性是TRUE (1), Director在分析文件名的时候搜索当前目录.
当searchCurrentFolder属性是FALSE (0), Director分析文件名的时候不搜索当前目录.
这个属性可以被测试和设置.
范例:这句话显示了searchCurrentFolder属性当前的状态在Message window中:
put the searchCurrentFolder
结果是1,表示TRUE.
范例这句话设置searchCurrentFolder属性为真TRUE, 这导致Director
分析文件名时搜索当前路径:
the searchCurrentFolder = TRUE
参见: searchPaths

195
searchPath
这条已经被废弃.使用searchPaths.

196
searchPaths
属性: the searchPaths
描述:系统属性; Director搜索寻找外部连结媒体例如视频,gif,位图或者声音文件所用到的目录列表. 列表中的每条是一个完整的路径,作为运行平台上所使用的路径.
searchPaths的值是一个线性列表,你可以像其他列表一样使用命令进行操作,例如add, addAt, append, deleteAt, 和 setAt.
URLs 不能在search Path 搜索路径中作为文件参照.
在searchPath中添加大量的路径会降低搜索速度. 尽量精简列表中的目录数目.
该属性可以被测试和设置, 默认是空值.
注意:这个属性在设置以后将在所有的子电影中生效. 因为当前电影的资源已经被装载, 改变设置将不会影响这些资源.
范例:这句话显示Director的搜索路径:
put the searchPaths
范例:这句话把两个目录添加到windows搜索路径.
这个版本包含"\"符号在路径的结尾
set the searchPaths = ["c:\director\projects\", "d:\cdrom\sources\"]
同上, 不过忽略了结尾的"\":
set the searchPaths = ["c:\director\projects", "d:\cdrom\sources"]
范例:这是应用在Mac上搜寻两个文件夹的情形。
这个版本包含":"在路径的结尾。(译者注: 注意不同系统的路径表示法, windows 用反斜杠, Mac用冒号)
set the searchPaths = ["hard drive:director:projects:", "cdrom:sources:"]
同上, 不过忽略了结尾的":"
set the searchPaths = ["hard drive:director:projects", "cdrom:sources"]
范例: 这个例子是让Director来搜寻当前电影所在文件夹下的一个名为Sounds的子文件夹。

set soundPaths = the moviePath & "Sounds"
add the searchPaths, soundPath

参见: searchCurrentFolder, @ (pathname)

197
seconds
语法: dateObject.seconds
描述:属性; 给出指定对象自午夜经过的秒数. 只有 systemDate , creationDate, 和 modifiedDate 拥有一个默认的秒数值. 你必须给你建立的日期对象定一个seconds值.
这个属性可以和creationDate和modifiedDate一起使用来实现源代码控制的目的.
范例:这些语句显示在当前制作程序的机器上自午夜经过了多少秒:
mydate = the systemdate
put mydate.seconds
-- 1233

198
selectedText
语法: member(whichTextMember).selectedText
描述:文本角色成员属性; 返回当前选中的一些文本为一个单独的参照对象. 这允许你可以像处理字符的字符串信息一样处理字体属性.
这样的话就可以获取文字所带有的字体属性等信息.
范例:这个处理程序显示局部变量对象中存放的当前被选中的文字.然后个对象被用来参照多种文本的属性,
这些属性都显示在Message window中.
property spriteNum
on mouseUp me
mySelectionObject = sprite(spriteNum).member.selectedText
put mySelectionObject.text
put mySelectionObject.font
put mySelectionObject.fontSize
put mySelectionObject.fontStyle
end

199
selection() (函数)
语法: the selection
描述:函数; 返回一个字符串包含当前可编辑文本域选中部分. 这个函数在测试用户在文本域中选中了什么比较有用.selection函数仅仅显示字符中的哪一个串被选中了; 你不可以使用selection去选择一串字符.
范例:这句话检查是否有任何字符被选中,如果没有,则显示警告 "Please select a word.":
if the selection = EMPTY then alert "Please select a word."
参见: selStart, selEnd

编辑历史:[这消息被机器猫编辑过(编辑时间2001-07-11 08:29:00)]
[这消息被机器猫编辑过(编辑时间2001-07-11 13:42:31)]
[这消息被flyingbird编辑过(编辑时间2001-07-12 06:23:38)]
[这消息被flyingbird编辑过(编辑时间2001-07-12 06:34:14)]