主题:  Lingo字典3

5D荣誉版主

职务:版主
等级:1
金币:10.0
发贴:177
注册:2000/9/17 8:56:36
#12000/11/23 13:16:42
Lingo的指令 (G~M)
getaProp
语法:
getaProp (list, positionOrProperty)
从阵列中寻找某个位置上的内容或值。如果这是一个线性的阵列(Linear List),则可
以指定某个位置让指令找出它的对应值。如果这是含有内容的阵列(Property List),则
可以指定某个内容(Property),让指令找出它的对应值。

getAt
语法:
getAt (list, position)
找出某一个阵列特定位置上的项目。只要填入一个数值表示阵列的位置,指令就会
帮您找出这个相对位置上的项目值。

getLast
语法:
getLast (list)
找出某一个阵列最后一个项目的值。

getNthFileNameInFolder
语法:
getNthFileNameInFolder (folderPath, fileNumber)
找出某一目录下特定位置上的文件名称,这个名称包含有路径的名称。只要将
fileNumber替代成为文件的位置即可。

getOne
语法:
getOne(list, value)
找出阵列中特定值的位置。这个指令适用于两种不同的阵列,它与getPos唯一不同
的地方就是getPos只适用于线性阵列。

getPos
语法:
getPos (list, value)
找出阵列中特定值的位置。这个指令只适用于线性阵列。

getProp
语法:
getProp (list, property)
找出含有内容阵列中特定内容所对应的值。

getPropAt
语法:
getPropAt (list, index)
找出含有内容阵列中,特定位置上对应的内容符号。

global
语法:
global variable 1 [, variable 2][, variable 3]...
说明变量是一个global的变量。所谓global的变量,即表示这个变量可以在电影的任
何位置上使用,global变量可以在任何位置上被说明。

go
语法:
go whichFrame
go to whichFrame
go to frame whichFrame
go movie whichMovie
go to movie whichMovie
go whichFrame of movie whichMovie
go to whichFrame of movie whichMovie
go to frame whichFrame of movie whichMovie
将播映头跳跃到特定的镜头上,也可以指定特定电影的镜头,也就是可以选择不同
的电影文件。在go to的后方可以加上镜头号码,也可以加上场记的名称,当然我们建
议您使用场记来替代号码,因为它可以使电影更加清楚。
范例:
跳到第一个镜头:
go 1
go to 1
go to frame 1
跳到场记名称为First Scene的镜头上:
go "First Scene"
go to "First Scene"
go to frame "First Scene"
跳到电影ShowCase的Second Scene镜头上:
go "Second Scene" of movie "ShowCase"
go to "Second Scene" of movie "ShowCase"
go to frame "Second Scene" of movie "ShowCase"
在当前播映头所在位置上做循环:
go to the frame
跳到当前播映头所在位置往前数三个镜头上播映:
go to the frame -3

go loop
语法:
go loop
loop是循环的意思,但循环的动作以场记(Marker)为主,所以它的循环动作并非在
特定的镜头上进行,如果go loop所在的镜头上有一个场记,它的动作就等于go to the
frame,等于画面在同一个镜头上一直循环,也就是镜头静止的意思。
但若是go loop所在的位置上没有场记名称,则播映头会跳跃到从现在的镜头往回数
到有场记名称的镜头上重复播映,这两种不同的应用要特别注意。

go next
语法:
go next
这个指令的动作仍然以场记(Marker)为主。它会使播映头跳跃到下一个场记的镜头上
播映,就相当于go to marker (1) 的意思。

go previous
语法:
go previous
这个指令与go next刚好相反,它会使播映头跳跃到上一个场记的镜头上播映,就相
当于go to marker (-1)。

halt
语法:
halt
结束所有的Handler,最后再结束电影的播映。

height of cast
语法:
the height of cast whichCastmember
查询某一个卡司成员的图形高度。

height of sprite
语法:
the height of sprite whichSprite
查询或设定某一个分镜的图形高度。要设定分镜的高度时,一定要将这个分镜说明
为puppet,而且要注意在使用之后加上一个updateStage的指令以更新画面上的图形。

hilite
语法:
hilite chunkExpression
将部分指定的字符、字或字串反白,选取的颜色要和控制面板上所设的颜色相同。

hilite of cast
语法:
the hilite of cast whichCastmember
查询或设定按钮式的卡司成员checkbox或radio button是否被选取。当the hilite of cast
为真时,表示这个成员已经被选取;当the hilite of cast为假时,则表示这个成员尚未被
选取。

HMStoFrames
语法:
HMStoFrames (hms, tempo, dropFrame, ractionalSeconds)
将某一个时间的长度"sHH:MM:SS.FFD",转为对应长度的镜头Frame数。
s如果为-号时,表示这个时间的长度为负数,若它为+号或是空白,则表示此时间为
正数。
HH表示小时数。
MM表示分数。
SS表示秒数。
FF表示小数位的秒数,只有将fractionalSeconds设为真时才会发生。
D为一个字符。d表示dropFrame为真,D表示dropFrame为假。
Tempo表示播放速率,也就是每秒播映几个镜头。

idle
语法:
on idle
statement (s)
end idle
当电影在播映但程序没有执行任何的Handler时,可以让程序来执行idle Handler中的
指令。但是因为电影一有空闲时间,就会执行这个Handler,所以在这个Handler中尽量
不要放置太多的指令动作,以免影响到电影播映的速度。

if
语法:
if logicalExpression then then-statement

if logicalExpression then then-statement
else else-statement
end if

if logicalExpression then
statement (s)
end if

if logicalExpression then
statement (s)
else
statement (s)
end if

if logicalExpression 1 then
statement (s)
else if logicalExpression 2 then
statement (s)
else if logicalExpression 3 then
statement (s)
end if
if...then的语法应该是相当熟悉的,主要的几种语法规则如上列所示,主要是用在判
断某些特定的情况。else并不是必须的,但如果其中需要配合两个以上的if语句,可以
与else合在一起使用。

ilk
语法:
ilk (item, type)
查询某一个变量项目item是否为一个指定类型(type)的数据类型。如果是的话,结果
值为真; 如果不是的话,结果值为假。真值以数值1来代表,假值以数值0来代表,请
参考表11。
表11
变量类型 #list #linearlist #propertylist #point #rect
linear list 1 1 0 0 0
property list 1 0 1 0 0
point 1 1 0 1 0
rect 1 1 0 0 1

importFileInto
语法:
importFileInto castMember, fileName
将某一个文件filename装入而成为一个卡司成员,存放的位置由castMember表示。

inflate rect
语法:
inflate (rectangle, widthChange, heightChange)
改变某一个矩形rectangle的宽度widthChange与高度heightChange,这个改变的幅度会
改变上下左右的大小,例如:
put inflate (Rect (10., 10, 20, 20), 2, 1)
结果为Rect (8, 9, 22, 21)

ink of sprite
语法:
the ink of sprite whichSprite
以数值表示一个分镜的颜料效果,结果值以一个数值代替。数值的意义如表12所示:
这里不建议用设定的方式改变分镜中的颜色效果,因为其结果比较难以预测,查询
的方式倒是可以 善用的。
表12
数值 颜料效果 数值 颜料效果
0 Copy 9 Mask
1 Transparent 32 Blend
2 Reverse 33 Add pin
3 Ghost 34 Add
4 Not copy 35 Subtract pin
5 Not transparent 36 Background transparent
6 Not reverse 37 Lightest
7 Not ghost 38 Subtract
8 Matte 39 Darkest

inside
语法:
inside (point, rectangle)
查询某一个点point是否存在于某一个矩形rectangle之内。这可以应用在拼图游戏中,
若点在矩形之中,则返回的值为真,若点在矩形之外,则返回的值为假。

installMenu
语法:
installMenu cast member
将某一个文本卡司成员放置成一个菜单。这个卡司成员将变成一个自定的菜单,若想
删除这个菜单,可以使用指令installMenu或是加上一个参数0,两者皆可。

integer
语法:
integer (numericExpression)
integerP为查询某一个算术表达式的值是否为整数,而integer则表示将某一个算术表达
式的小数除去,返回的值为这个算术表达式的整数部分。

integerP
语法:
integerP (expression)
查询某一个算术表达式expression的值是否为整数,若为整数,则结果值为真。

intersect rect
语法:
intersect (rectangle 1, rectangle 2)
指令intersect 为两个分镜的重叠测试,若矩形一rectangle 1与矩形二rectangle 2重叠时,
指令的值为真。

intersects
语法:
sprite sprite 1 intersects sprite 2
若某一个分镜图形的矩形范围与第二个分镜图形的矩形范围重叠时,这个指令的值
为真,可以应用在拼图游戏上。

item...of
语法:
item whichItem of chunkExpression

item firstItem to lastItem of chunkExpression
查询某一个特定的项目,这个项目的位置可以以数值的方式放置在whichItem中,若
想查询的是部分的项目,就可以将起始项目的位置放在firstItem中,将终止项目的位置
放在lastItem中,结果值是这两个位置之间的所有项目。

itemDelimiter
语法:
the itemDelimiter
设定项目的分隔符号,正常的符号为逗号。

items
语法:
the number of items in chunkExpression
查询某一个字串或是文本卡司成员中到底有几个项目,这些项目可能是字符、字或
字串,项目分隔的符号为逗号。

key
语法:
the key
本指令会判断用户利用键盘所输入的键为何键,变量中的值并非一个数值,而是一个
表个别键的名称,如RETURN等,使用时请与the合用。

keyCode
语法:
the keyCode
与the key唯一不同的地方是本指令所存放的内容为一个数值。对应的键可以使用the
key来判断它的名称,也可以利用the keyCode来判断它的数值,这两者的道理其实是相
同的。

keyDown
语法:
on keyDown
statement (s)
end
通常keyDown被当作是一个启动的事件Handler,也就是必须与on合用,所以它的语法
如上所示,中间行的内容就是用户所输入的指令内容。
这个指令会检测任何的按键,当用户按到任何键时,就会启动keyDown的指令,所以
可以将其当作用户与系统交互的一个方式,如中断程序或暂停程序都是可以应用的方式。

keyDownScript
语法:
the keyDownScript
将所有keyDown按键的指令全部设为指令中的内容。当the keyDownScript 一旦被设定
时,就会告知系统,所有的按键指令全部由它来执行,其余的keyDown指令会失效。只
有一个例外,就是使用pass指令。

keyUp
语法:
on keyUp
statement (s)
end
the keyUp与the keyDown 非常类似,通常keyup被当作是一个启动的事件Handler,也就
是必须与on合用,所以它的语法如上所示,中间行的内容就是用户所输入的指令内容。
这个指令会检测任何的按钮,当用户按到任何按键放开后就会启动keyUp的指令。所
以可以将其当作用户与系统交互的一个方式,当然应用的方式就由您自己来设计了。

keyUpScript
语法:
the keyUpScript
the keyUpScript与the keyDownScript的用法相当类似,将所有keyUp的指令全部设为指令
中的内容。当the keyUpScript一旦被设定时就会告知系统,所有的按键keyUp指令全部由
它来执行,其余的keyUp指令会失效。只有一个例外,就是使用pass指令。

label
语法:
label (expression)
查询某一个名称expression是否为一个场记marker的名字,若是的话返回值为真,若不
是的话返回值为假。

labelList
语法:
the labelList
the labelList所存的值为整个电影中的所有marker的名称,存放的方式是以一行存放一
个marker为主,所以当读到一行的字串时,就等于读到了一个marker。

last
语法:
the last chunk in (chunkExpression)
针对文字对象的设计指令,这个指令可以找出文字对象的最后一个字符、字或一行字
串。写法如下:
the last char in (chunkExpression)
the last word in (chunkExpression)
the last line in (chunkExpression)
在chunkExpression中所写的就是这个文字对象的描述。

lastClick
语法:
the lastClick
计算从上一次用户按了鼠标键一直到这一次用户按鼠标键所花的时间,计时的单位为
Tick。

lastEvent
语法:
the lastEvent
计算从上一次事件的发生到这一次事件的发生中间所花的时间。这些事件包含有按鼠
标键、按键、移动鼠标光标等,计时的单位为Tick。

lastFrame
语法:
the lastFrame
找出这个电影中所使用的最后一个镜头的数字。

lastKey
语法:
the lastKey
计算从上一次用户按键一直到这一次用户按键中间所花的时间,计时的单位为Tick。

lastRoll
语法:
the lastRoll
计算从上一次用户移动鼠标光标一直到这一次用户移动鼠标光标所花的时间,计时的
单位为Tick。

left of sprite
语法:
the left of sprite whichSprite
查询某一个分镜图形最左边到视窗左方边界的距离。这个数字的单位为pixels,但这只
适用于查询。

length
语法:
length (string)
查询出某一个字串中的字符到底有多少,这些字符包含特殊的字符在内。

line of
语法:
line whichLine of chunkExpression

line firstLine to lastLine of chunkExpression
找出某一个文本对象chunkExpression中,指定行数whichLine的子字串,或是找出特定
行数firstLine to lastLine中的所有子字串。

lines
语法:
the number of lines in chunkExpression
查询某一个字串中的行数。

lineSize of sprite
语法:
the lineSize of sprite whichSprite
如果某一个分镜中的图形为一个使用工具视窗绘制的图形shape sprites,本指令可以
将图形的线条宽度改变。但在改变之前必须将此分镜说明为puppet,除了改变的用途
之外,也可以当作查询来使用。

list
语法:
list (value 1, value 2, value 3 ...)
定义一个线性的阵列linear list,阵列中的值放置在后面的括弧中。

list brackets ( [ ] )
语法:
[entry1, entry2, entry3, ...]
说明方括号中的所有项目为一个阵列list。若项目中含有符号与值,则为一个含有内容
的阵列property list;若只含有值,则为一个线性的阵列linear list。
若要设定为空的字串,则只要输入空的中括弧即可,例如:
空的线性阵列 set x = [ ]
空的含有内容阵列 set x = [ : ]

listP
语法:
listP (item)
查询某一个项目是否为一个阵列list,若是的话,返回的值为真;若不是的话,返回的
值为假。

loaded of cast
语法:
the loaded of cast whichCast Member
查询某一个卡司成员是否已经装入到存储器中,若是的话,返回的值为真;若不是的
话,返回的值为假。

locH of sprite
语法:
the locH of sprite whichSprite
这个指令可以查询或设定某一个分镜对齐点registration point的水平位置。所谓对齐点
通常指图形的中心点或重心点的位置,这可以由用户来设定,但本指令是针对图形的对
齐点而设,它与locV的功能相似,只是locV用于查询或设定对齐点的垂直位置。

locV of sprite
语法:
the locV of sprite whichSprite
这个指令可以查询或设定某一个分镜对齐点registration point的垂直位置。

log
语法:
log (number)
找出一个数值的自然对数值natural logarithm。

loop
语法:
loop
这个指令与marker配合使用,表示它会让播映头在这个marker之间的镜头巡回播映。

loop of cast
语法:
the loop of cast castname
设定某一个影片的卡司成员是否会重复播映,若设定为真,则影片将会重复播映;
若设定为假,则不会重复播映。

machineType
语法:
the machineType
返回数值代表机器的类型,如表13所示:
表13
数值 机器类型 数值 机器类型
1 Macintosh 512Ke 23 PowerBook 140
2 Macintosh Plus 24 Macintosh Quadra 950
3 Macintosh SE 25 Macintosh LCIII
4 Macintosh II 27 PowerBook Duo 210
5 Macintosh IIx 28 Macintosh Centris 650
6 Macintosh IIcx 30 PowerBook Duo 230
7 Macintosh SE/30 31 PowerBook 180
8 Macintose Portable 32 PowerBook 160
9 Macintosh IIci 33 Macintosh Quadra 800
11 Macintosh IIfx 35 Macintosh LCII
15 Macintosh Classic 42 Macintosh IIvi
16 Macintosh IIsi 46 Macintosh II vx
17 Macintosh LC 47 Macintosh Color Classic
18 Macintosh Quadra 900 48 PowerBook 165c
19 PowerBook 170 50 Macintosh Centris 610
20 Macintosh Quadra 700 52 PowerBook 145
21 Classic II 76 Macintosh Quadra 840av
22 PowerBook 100 256 IBM PC-type machine

map
语法:
map (targetRect, sourceRect, destination Rect)
map (targetpoint, sourceRect, destination Rect)
根据第二个矩形sourceRect与第三个矩形destinationRect的关系来定义第一个矩形
targetRect的大小。

marker
语法:
marker (Lingo)
找出某个含有marker的镜头数,见表14。
表14
数值 传回值
marker(1) 下一个有marker的镜头数
marker(2) 再下一个有marker的镜头数
marker(0) 目前这个marker的镜头数
marker(-1) 上一个有marker的镜头数
marker(-2) 再上一个有marker的镜头数
请参考图21。

图21 含有marker的镜头数

mAtFrame
语法:
method mAtFrame frameNumber, subFrameNumber
[ statements ]
end mAtFrame
当电影中使用了内部的object:factory,或是外部的object:Xobjet时,这个指令可以让
电影在每进入一个新的镜头时,执行所要的动作,这个函数message为mAtFrame。
所以可以利用它来设计一个动作,在电影每进入一个新的镜头时就做一个小动作,
如显示镜头数目等。但在使用它之前一定要先设定对象为perFrameHook,如下列所示:
set the perFrameHook to objectName
设定好之后,就可以使用这个函数了。

max
语法:
max (list)

max (value 1, value 2, value 3, ...)
找出某一个阵列中最大项目的值。例如:
put max (1, 2, 3) into a
则a的值为3。

maxInteger
语法:
the maxInteger
查询本系统中可以使用的最大整数值,一般的个人电脑最大值为2147483647,2的31次
方。请参考图22。

图22 系统可使用的最大整数值

mci
语法:
mci "string"
调用windows 下的mci指令,您只要将指令放置在字串string中即可。

mDescribe
语法:
XObjectName (mDescribe)
这个指令可以显示某个特定的XObjects中到底含有多少函数,所有的函数的语法与
功能会显示在message窗之中。这个指令可以在制作程序时查询到所使用的XObject中
的函数,但不适用于电影中。请参考图23。

图23 mDescribe的查询功能

mDispose
语法:
object (mDispose)
只要记住这个指令就可以将XObject从存储器中移出。这个指令要在最后结束
XObject之前使用,如一定要用就如同mNew一样。

me
语法:
me
本指令使用在父程序中,它代表父程序本身,无论是使用到父程序本身的任何一个
Handler,都必须加上一个me。

memorySize
语法:
the memorySize
这个指令可以查询出本程序可以使用的存储空间大小。请参考图24。

图24 查询可使用的存储空间大小

menu:
语法:
menu:menuName
itemName | script
itemName | script
...
or
menu:menuName
itemName | script
itemName | script
...
设计自定的菜单,menuName表示菜单的名称,而itemName则表示指令的名称,script
表示执行的动作,在itemName与script之中必须加入“|”符号。在指令之上可以放置一
些其它的符号,如表15所示。
表15
符号 说明
| 分隔指令与动作的符号
( 消失指令的动作
(- 在指令之间产生一条实心线
V 表示这个指令已经被选取,符号产生的方式为Alt-0-1-9-5键
<0 将指令变成中空
/ 指令的指令快速键,快速键的方式是control与斜线后按键的总合,例
如control/q

menuItems
语法:
the number of menuItems of menu whichMenu
查询某个菜单中的指令数目。

menus
语法:
the number of menus
查询当前电影中所有自定菜单的数目。

method
语法:
method methodName [ argument 1 ] [ , argument 2 ] ...
定义某一个factory或是XObject中所含有的函数,直接在method之后加上函数名称
message即可。

mGet
语法:
object (mGet, whichElement)
这是早期阵列的用法,可以利用mPut将某一个值放置在阵列之中的指定位置上,或
用mGet将某一个特定位置的值列出。例如:
myObject (mPut, 3, 100)
表示在阵列myobject之中第三个位置的值为100。
put myObject (mGet, 3)
显示的结果值自然为100。

min
语法:
min (list)

min (a1, a2, a3...)
找出list或是一串数值中的最小值。例如:
put min (1, 2, 3) into a
结果a的值1。例如:
put [ 1, 2, 3] into aList
put min (aList) into a
结果a的值仍然为1。

mInstanceRespondsTo
语法:
XObject (mInstanceRespondsTo, message)
查询指定的XObjects中,是否对message的函数有响应,若在XObjects中含有message
的函数,则指令会返回一个正数,如果返回的值是0,表示在此XObject中并没有
message这个函数。请参考图25。

图25 函数查询(一)
图中显示在FileIO中含有mReadFile这个函数,而且它有四个参数。
图26表示在FileIO中没有mWriteFile及mWrite这两个函数,但是它有mWriteString这
个函数。

图26 函数查询(二)

mMessageList
语法:
XObject (mMessageList)
查询XObject中所有的函数methods,这些指令就等于mDescribe产生的所有说明。

mName
语法:
XObject (mName)

XObjectInstance (mName)
查询当前所使用的XObject的名称,如FileIO等。

mNew
语法:
factory (mNew [ , argument 1 ] [ , argument 2 ] ...

XObject (mNew [ , argument 1 ] [ , argument 2 ] ...
这个指令一定要先使用,它表示让存储器挪出一部分空间来给这个XObject使用,
而在使用结束之后一定要用mDispose来说明存储空间已还给系统。

mod
语法:
integer 1 mod integer 2
将整数integer 1 除以integer 2 所得的余数返回,如图27所示。

图27 mod求余运算

modal of window
语法:
the modal of window "window"
设定本视窗是否可以响应视窗外部所发生的事件events,若可以响应的话就将指令的
值设为真。例如:
put the modal of window "andy" to true

modified of cast
语法:
the modified of cast castMember
查询指令的卡司成员castMember在电影播映后是否被修改过,若是的话指令的值为真。
例如:
put the modified of cast 1
查询第一个卡司成员是否被修改过。
put the modified of cast "andy"
查询名为andy的卡司成员是否被修改过。

mouseCast
语法:
the mouseCast
当前在鼠标光标下的Sprite数。在播映电影时,光标的位置可能会在某一个镜头之中的
某一个Sprite上,the mouseCast所存的就是这一个Sprite的数字,也就是channel 的数字。如
果鼠标光标在第一个Sprite上,the mouseCast的数字为1;如果鼠标光标在第二个Sprite
上,the mouseCast的数字为2。依此类推,但如果鼠标光标不在任何Sprite上时,the
mouseCast的数字就为-1。例如:
if the mouseCast = 1 then beep ( )
表示光标的位置移到第一个卡司成员上面时,会发出哗的一声。

mouseChar
语法:
the mouseChar
在当前鼠标光标下的Sprite为一个文本卡司成员时,the mouseChar所存放的值为一个字
符,这个字符正好是在鼠标光标下的字符。
假设有一个文本卡司成员:
This is a book.
光标正好放置在a字上,the mouseChar的值为字符a。如果光标放置在is的i字上头,
则the mouseChar的值为字符i。
如果光标所在的位置不是在一个文本卡司成员上时,the mouseChar的值为-1。

mouseDown
语法:
the mouseDown
一般来说,mouseDown与On合用,可以放置在Script的最上头当作Handler使用。但是
它也可以单独使用,如果想要单独使用mouseDown时,请使用the mouseDown。
这是一个逻辑值的指令,可以用它来判断当前鼠标的动作是否仍然为MouseDown。

mouseDownScipt
语法:
the mouseDownScript
可以强迫mouseDown去执行的指令内容。如果想要指定mouseDown只能去执行特定的
动作,就可以设定mouseDownScript。所以此后所有的mouseDown动作时,都会去启动
这个指令,而其它的指令全部被忽略。
如果同时有两个mouseDown的指令存在,而且希望能够一个执行完之后再继续执行下
一个mouseDown的指令,可以将pass加在第一个mouseDown指令的最后一行。

mouseH
语法:
the mouseH
鼠标所在的水平位置,the mouseH存放的值是从左边视窗边界到光标的距离,见图28。

图28 从视窗左边界到光标的距离

mouseItem
语法:
the mouseItem
在当前鼠标光标下的Sprite 为一个文本卡司成员时,the mouseItem可存放文字项目
数的数字。文字项目的计算以逗号为准,也就是一个逗号分隔出一个项目。
如果有一个文本卡司成员:
This, is a, book.
如果光标所在的位置在is或是a 上,the mouseItem的值为2;如果光标所在的位置在
This上,则the mouseItem的值为1。

mouseLine
语法:
the mouseLine
在当前鼠标光标下的Sprite为一个文本卡司成员时,the mouseLine可存放文本行数的
数字。文本行数的计算以Enter键为准,也就是一个Enter键分隔出一行。
This
is a
book.
如果光标所在位置在is或是a上,the mouseLine的值为2;如果光标所在的位置在This
上,则the mouseLine的值为1。

mouseUp
语法:
the mouseUp
mouseUp与mouseDown用法相当类似,mouseUp通常与On合用,可以放置在Script的
最上头当作Handler使用,也可以单独使用,如果想要单独使用mouseUp时,请使用
the mouseUp
这是一个逻辑值的指令,可以用它来判断当前鼠标的动作是不是仍然为MouseUp。

mouseUpScript
语法:
the mouseUpScript
可以强迫mouseUp去执行的指令内容。如果想要指定mouseUp只能够去执行特定的动
作,就可以设定mouseUpScript,所以此后所有的mouseUp动作时,都会启动这个指令,
而其它的指令全部被忽略。
如果同时有两个mouseUp的指令存在,而且希望能够一个执行完之后,再继续执行下
一个mouseUp的指令,可以将pass加在第一个mouseUp指令的最后一行。

mouseV
语法:
the mouseV
鼠标所在的垂直位置,the mouseV存放的值为从上方视窗边界到光标的距离,见图29。

图29 从视窗上边界到光标的距离

mouseWord
语法:
the mouseWord
在当前鼠标光标下的Sprite为一个文本卡司成员时,the mouseWord可存放文本的字数,
文本字数的计算以空格键隔开为准,也就是一个空格键分隔出一个字。
如果有一个文本卡司成员:
This is a book.
如果光标所在的位置在is上,the mouseWord的值为2,如果光标所在的位置在a上,
the mouseWord的值为3。

move cast
语法:
move cast whichCastmember [ , cast whichLocation ]
将指令的卡司成员whichCastmember移到卡司视窗中的特定位置whichLocation,如果没
有指令whichLocation参数时,这个卡司成员会被放置到第一个有空的地方。例如:
move cast "andy"
表示将名为andy的卡司成员放置到第一个有空的地方。
move cast "andy", cast 1
表示将名为andy的卡司成员放置到编号为1的位置上。

moveableSprite of sprite
语法:
the moveableSprite of sprite whichSprite
查询或设定某一个分镜whichSprite是否可以被移动。若设定为真,则表示这个分镜是
可以被移动的,但是设定它可以移动之前,则一定要先设定为puppet。例如:
puppetSpriet 1, true
set the moveableSprite of sprite whichSprite to true
表示第一个channel上的sprite是可以被移动的。

moveToBack
语法:
moveToBack window "whichWindow"
将某一个视窗whichWindow移到所有视窗的最后方。
moveToBack window "andy"
表示将名为andy的视窗放置到所有视窗的最后方。

moveToFront
语法:
moveToFront window "whichWindow"
将某一个视窗whichWindow移到所有视窗的最前方。
moveToFront window "andy"
表示将名为andy的视窗放置到所有视窗的最前方。

movie
语法:
the movie
查询当前所播映的电影的名称。
图30表示这是一个新的电影文件。

图30 新的电影文件
图31表示这是一个电影文件tour.dir。

图31 查询电影文件名称

movieFileFreeSize
语法:
the movieFileFreeSize
查询当前电影文件未使用到的空间,但经过save and compact指令之后,这个指令返
回的值为0。图32表示tour.dir这个文件没有可用空间,是已经过整理的文件。

图32 文件tour.dir无剩余空间

movieFileSize
语法:
the movieFileSize
查询当前电影文件的大小。图33表示当前这个电影文件的大小约为3.3MB。

图33 当前电影文件的大小

movieName
语法:
the movieName
找出当前电影的名称,与movie指令是相同的。

moviePath
语法:
the moviePath
找出当前电影文件所在的路径名称。请参考图34。

图34 查找当前文件所在路径

movieRate of sprite
语法:
the movieRate of sprite channelNumber
设定特定channel上的影片播映速度,请参考表16:
表16
速度 说明 速度 说明
1 正常速度播映 0 停止播映
-1 倒退播映 2 二倍速度播映
例如:
set the movieRate of sprite 5 to 0
表示将第五个channel上的影片停止播映。
set the movieRate of sprite 5 to -1
表示将第五个channel上的影片倒退播映。

movieTime of sprite
语法:
the movieTime of sprite channelNumber
设定或查询特定channel上的影片开始播映的时间。
put the movieTime of sprite 2 into andyMovie
表示第二个channel上影片的播映时间存放在变量andyMovie中。

mPerfore
语法:
object (mPerform, message [ , argument 1] [ , argument 2]...)
将函数message指定给特定的Object,这个Object可以为XObject,而message则是
它中间的一个函数。本指令的功能只是告诉对象object函数的用法,在后面所接的参
数argument中,可以放置一个、多个或者不放,表示这个函数拥有几个参数。事实上
这个指令与do并不相同,因为do是执行指令,而mPerform只是说明函数的使用方式。

mPut
语法:
object (mPut, whichElement, expression)
阵列功能,将某一值放在位置whichElement上,如:
myObject (mPut, 3, 100)
表示将数值100放置在阵列myObject的第三个位置上。

mRespondsTo
语法:
XObjectInstance (mRespondsTo, message)
查询指定的XObjects中是否对message的函数有响应,若在XObjects之中含有message
的函数,则指令会返回一个正数。如果返回的值是0,表示在此XObject中并没有
message这个函数。

multiSound
语法:
the multiSound
当计算机系统能够支持双频道multichannel的声音时,这个指令的值为真,如果在PC
上想要拥有双频道的声音时,就必须要加装特定的接口卡。