主题:  Lingo字典2

5D荣誉版主

职务:版主
等级:1
金币:10.0
发贴:177
注册:2000/9/17 8:56:36
#12000/11/23 13:15:47

Lingo的指令 (D~F)

date
语法:
the abbr date
the abbrev date
the abbreviated date
the date
the long date
the short date
日期的指令,请参考下列内容:
范例:
put the abbr date
"1995 Jul 30"
这个指令等于put the abbrev date, 也等于put the abbreviated date。
put the date
"7/30/95"
这个指令等于put the short date。
put the long date
"1995 July 30"
put the short date
--"9/7/91"

delay
语法:
delay numberOfTicks
设计延迟的时间。这里的计数都以Tick为单位,60个Tick等于一秒钟,所以delay 60
等于延迟一秒钟,delay 2* 60等于延迟二秒钟,依此类推。

delete
语法:
delete chunkExpression
删除某一个字符、字、项目、字串等内容。

deleteAt
语法:
deleteAt list, number
删除线性阵列中的指定项目。

deleteProp
语法:
deleteProp list, property
删除含有内容(property)阵列中的指定内容。

depth of cast
语法:
the depth of cast cast member
查询某一个特定卡司成员的颜色深度。

digitalVideo cast center
语法:
the center of cast castName
这个指令必须配合the crop of cast使用,当the crop of cast 为真时,而又将the center
of cast设定为真时,假如影片是大于分镜的矩形,则会截去大出的周边部分,让影片
看起来好一些。

digitalVideo cast controller
语法:
the controller of cast castName
针对QuickTime for Windows的影片文件而言,这个指令可以将它的控制按钮显示或隐
藏。若设定值为0时,表示隐藏控制按钮;若设定值为1时,表示显示控制按钮。

digitalVideo cast crop
语法:
the crop of cast
这个指令可以使数字影片显示在分镜的矩形之中,分镜的矩形设定请参考rec指令。当
the crop of cast设定为假时,它会将数字影片挤压或放大显示在分镜的矩形之中;但若是
the crop of cast设定为真时,而数字影片又大于分镜的矩形时,它就会将部分画面截掉不
显示。

digitalVideo cast duration
语法:
the duration of cast castName
查询某一个影片的长度,单位以tick计算。

digitalVideo cast frameRate
语法:
the frameRate of cast DVcastMember
查询某一个影片的速度,设定的数值意义如表9所示:
表9
数值 意义
0 正常设定的速度
-1 依正常速度播映每一个镜头
-2 以最快的速度播映每一个镜头
255 最大的速度

digitalVideo cast loop
语法:
the loop of cast castName
设定影片是否重复播映。若设定值为1时,则影片会以循环方式重复播映;若设定值
为0时,则影片只播映一次就停止。

digitalVideo cast pausedAtStart
语法:
the pausedAtStart of cast whichDVMovie
设定影片一开始出现时,是否为暂停的方式。若本指令的值为真时,则影片会在一开
始出现时先行暂停,等播映的按钮或指令启动时,影片才会播映。

digitalVideo cast preload
语法:
the preLoad of cast castMember
设定影片是否先装入到存储器中。若本指令的值为真,影片会先装入到存储器中。

digitalVideo cast sound
语法:
the sound of cast castMember to onOrOff
设定影片的声音是否要播放。若本指令的值为真,则影片的声音会随着影片一起播放。

digitalVideo cast video
语法:
the video of cast castName
设定影片是否要播映。若本指令的值为假时,则影片就不会播映。

digitalVideo sprite movieRate
语法:
the movieRate of sprite channelNumber
设定某一个分镜上的影片速度。若指令的值为1时,则影片会以正常的速度播映;若指
令的值为-1时,则影片会以倒播的速度播映;若指令的值为0时,则影片会停止播映。

digitalVideo sprite movieTime
语法:
the movieTime of sprite channelNumber
查询某一个分镜上影片播映的时间,数值的单位以tick计算。
put the movieTime of sprite 1 into mvTime
表示将每一个channel上的影片成员的长度放置到mvTime的变量之中。

digitalVidel sprite startTime
语法:
the startTime of sprite spriteNumber
设定影片在某一个特定channel上开始播映的时间。
set the stopTime of sprite 1 to 300
表示将第一个channel上的影片成员的结束时间定在第5秒末。

digitalVideo sprite stopTime
语法:
the stopTime of sprite whichSprite
设定影片在某一个特定channel上结束播映的时间。
set the stopTime of sprite 1 to 120
表示将第一个channel上的影片成员的结束时间定为第2秒末。

digitalVideo sprite volume
语法:
the volume of sprite spriteNum
控制影片的声音大小,范围从-256到256,小于0的数值表示影片将不会播放声音。
set the volume of sprite 1 to 256
表示将第一个channel上的影片成员的声音开到最大。

do
语法:
do stringExpression
表示执行stringExpression所写的指令。

done
语法:
play done
结束play指令的动作,回到调用它的地方。

dontPassEvent
语法:
dontPassEvent
在一个Handler结束之后,可能会将执行的动作交给下一个可执行的Handler。但若是
在一个Handler结束之前加上一个dontPassEvent指令,它就会将执行的动作停止,而不
交给下一个可执行的Handler。

doubleClick
语法:
the doubleClick
本指令存放的值为一个逻辑值,当它为真时,表示用户按了鼠标键两下;当它为假
时,表示用户没有按鼠标键两下。

down
语法:
repeat with variable = startvalue down to endvalue
配合repeat的计数,down表示计数的动作是往回算,每次计算是以减一的方式计数。
例如:
repeat with i = 10 down to 1
表示会做10个循环。离开循环的方式可以去设定i的值为1,或是exit repeat指令。

drawRect of window
语法:
the drawRect of window windowName
查询或是设定视窗的大小,利用四个数值来定义视窗的上、下、左、右。请参考图8:

图8 查询、设定视窗大小
图8中的结果表示视窗testWin的大小为(0,0,650,480)所围起的视窗,也就是整个画
面的大小。

duplicate cast
语法:
duplicate cast original [, new]
复制一个卡司成员,若是填入一个数值在new上,则表示复制后的卡司成员将放置在
new的位置上。图9为卡司视窗的图形。

图9 卡司视窗
图10是经过duplicate cast1指令后,将第一个图形复制一份的结果。

图10 复制第一个图形
图11是经过"duplicate cast 1, 6"指令后,系统将第一个图形复制一份到所指定的位置
上(也就是卡司成员六的位置)的结果,可以比较一下这两个图形的不同之处。

图11 复制卡司成员至指定位置

duration of cast
语法:
the duration of cast castName
查询影片的长度。

editableText of sprite
语法:
the editableText of sprite whichSprite
设定某一个分镜中的卡司成员是否可以被编辑。电影在播映的过程中,若卡司成员是
可以被编辑的,则可以将指令的值设定为真;如果不行则设定为假。但是这个指令在使
用之前,必须要将这个分镜设定为一个PuppetSprite。

else
语法:
if logicalExpression then then-statement
else else-statement
end if
配合if使用。在if后面所使用的是表达式为真值时所做的事,在else后面所使用的是表达
式为假值时所做的事。例如:
if mySprite=TRUE then
set flag to 0
else
set flag to 1
end if

EMPTY
语法:
EMPTY
表示空的字串。

enabled of menuItem
语法:
the enabled of menuItem whichItem of menu whichMenu
设定菜单中的某一个或多个项目为可以选取的类型或是不可以选取的类型。在使用指
令的过程中,某些指令在某些情形下也许是无法使用的,所以可以将它设定为假,而这
个指令就会显示成淡灰色。在这个指令中,whichItem可以是数值,也可以是项目的名
称。

end
语法:
end
逻辑运算中的值。

ENTER
语法:
ENTER
代表键盘的ENTER键。例如:
if the key = RETURN or key = ENTER then propertyenterinfo
上述的意思是表示用户按下return键或是enter键时,就会执行propertyenterinfo这个
Handler。

enterFrame
语法:
on enterFrame
statement (s)
end enterFrame
enterFrame表示进入此镜头时所该做的动作,通常使用在Handler中,如图15所示。

图15 Handler中的enterFrame
一般来说这个Handler使用在Frame Script之中,它可以与其它的Handler,或是
exitFrame同时使用。

erase cast
语法:
erase cast whichCastmember
清除卡司成员,在卡司视窗中的位置上会 留下空白。例如,有一个卡司成员图形
(如图16所示)。

图16 卡司成员图形
当执行一个指令erase cast 1时,就会将第一个位置上的卡司成员图形清除,如图17
所示。

图17 清除卡司成员

exit
语法:
exit
这个指令会离开当前所执行的Handler,回到调用它的地方。如果它是由另一个
Handler调用,就会回到那一个Handler的上面继续执行。有一个handler 如下:
on playGame
[satements]
IF exitEvent = TRUE then
exit
else
playGame
end if
end repeat
在上述的Handler中,当exitEvent值为真时,就会离开此Handler,否则会继续执行这
个Handler。

exit repeat
语法:
exit repeat
离开repeat的循环。如果有一个repeat的循环如下:
repeat while TRUE
nothing
end repeat
那么该如何离开这个循环呢?这里可以使用一个逻辑变量outRepeat,当变量值为真
时,就离开循环,所以写法可以改成下列所示:
repeat while TRUE
nothing
IF outRepeat = TRUE then
exit repeat
end if
end repeat

exitFrame
语法:
on exitFrame
statement (s)
end exitFrame
这个指令通常是用在Handler的上面,表示当离开此镜头时所要进行的下一步动作,例
如图18。

图18 exitFrame的使用
表示离开这个镜头之后,会回到上一个镜头再播映。
图19则是最常见的用法,表示在当前这个镜头上一直播映,与pause的结果是相同的。

图19 暂停在当前镜头
图20则是在一个Frame Script之中,有两个不同的handlers, 一个是mouseUp的
handler,另一个才是exitFrame的handler。这两个各有自己的动作,会依照需要来组合,
读者可以试试看。

图20 mouseUp与exitFrame的Handler

exitLock
语法:
the exitLock
这个指令控制放映机Projector是否可以离开程序。若the exitLock值为真时,则不管用
户是否按了Control-,或是Esc键都是无法离开程序的;但是,the exitLock值若为假时,
则用户按了Control-,或是Esc键都可以离开程序。

exp
语法:
exp (integer)
取一个数的自然对数值。

fadeIn
语法:
sound fadeIn whichChannel
sound fadeIn whichChannel, ticks
声音淡入的时间长度,当您没有赋予时间的值时,系统内定的值为:15*(60/(速率))。

fadeOut
语法:
sound fadeOut whichChannel
sound fadeOut whichChannel, ticks
声音淡出的时间长度,当您没有赋予时间的值时,系统内定的值为:15*(60/(速率))。

FALSE
语法:
FALSE
逻辑值的假值。

field
语法:
field whichField
当使用field指令时,就表示所指出的卡司成员为一个文本性的卡司成员。例如:
field"entry"表示名为entry的文本卡司成员。

fileName of cast
语法:
the fileName of cast cast member
此卡司成员所引用到的文件名称,包含它的路径。

fileName of window
语法:
the fileName of window whichWindow
设定某个视窗内执行的电影名称,也就是一个Director 的电影文件,这个文件的名称
包含路径。

findEmpty
语法:
findEmpty (cast castNum)
查询下一个位置为空白的卡司视窗编号。例如:
put findEmpty (cast 10)
表示第10个卡司成员之后的第一个空白的卡司成员编号。

findPos
语法:
findPos (list, prop)
从含有内容(property)的阵列中,找出含有prop的位置。

findPosNear
语法:
findPosNear (list, prop)
findPos是从含有内容(property)的阵列中,找出含有prop的位置。而findPosNear则是从
阵列中找出最接近的一个位置,而不是精确的位置。

fixStageSize
语法:
the fixStageSize
这个指令可以设定是否将舞台的大小固定,但只适用于装入新的电影时。若
fixStageSize的值为真,则装入新的电影时舞台的大小不会改变,若fixStageSize的值为
假,则装入新的电影时舞台的大小会改变。

float
语法:
float (expression)
将某一个数值expression改变成为浮点数。

floatP
语法:
floatP (expression)
查询某个数值expression是否为一个浮点数,若它为一个浮点数,则指令的值为真。若
它不是一个浮点数,则指令的值为假。

floatPrecision
语法:
the floatPrecision to integer
设定浮点数后小数位置的位数,最大的位数为19。

foreColor of cast
语法:
set the foreColor of cast castName to colorNumber
设定某一个卡司成员的前景颜色。

foreColor of sprite
语法:
the foreColor of sprite whichSprite
设定某一个分镜成员的前景颜色。它主要应用于使用工具视窗所制作出来的图形,
对其它的图形虽有影响但不明显,建议您不使用它。

forget window
语法:
forget window whichWindow
将某一个视窗关闭。

frame
语法:
the frame
使用frame这个指令时一定要使用the这个字,the frame最好配合使用,以免出现问题。
它表示当前镜头的意思,通常与其它的指令配合使用。
范例:
跳跃到镜头名为First scene的地方:
go to the frame "First scene"
跳到上一个镜头播映:
go to the frame -1

frameLabel
语法:
the frameLabel
查询当前镜头的名称,若这个镜头没有任何名称,则the frameLabel 的值为一个空字
串。

framePalette
语法:
the framePalette
查询当前这个镜头使用调色板的卡司成员编号。

frameRate of cast
语法:
the frameRate of cast DVcastMember
若这个卡司成员为一个影片的成员,这个指令可以用数值来控制影片的播映(见表
10)。
表10
数值 意义
0 正常设定的速度
-1 依正常速度播映每一个镜头
-2 以最快的速度播映每一个镜头
255 最大的速度

frameScript
语法:
the frameScript
查询当前镜头所使用的script编号。

framesToHMS
语法:
the framesToHMS(frames, tempo, dropFrame, fractionalSeconds)
当您利用Director制作出一个真正的电影时,这个指令可以帮助您预估在设计完成
后,镜头数相应的时间长度。如果想要将电影输出到模拟的系统中或是录象带,这
个指令可以预先估计所制作的时间长度。
但是当您制作NTSC的系统而且速率为30FPS时,请将dropFrame设为真,这样会比较
精确。

frameTempo
语法:
the frameTempo
查询当前镜头的速率。

freeBlock
语法:
the freeBlock
存储器可供使用的空间。

freeBytes
语法:
the freeBytes
存储器可供使用的空间。在windows下freeBlock与freeBytes是相同的。