常用的Lingo语句之欧阳生创编
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用的Lingo语句
一、常用的Lingo命令
尽管在Lingo中有700多条命令,但是在编写Lingo剧本时,经常用到的Lingo命令并不是很多,下面简单介绍一下常用的一些Lingo命令。
1.go
这是一个在Director中非常常用的命令,在前面的制作中我们曾经不只一次用到它,它的用法也比较多,主要包括下面一些情况:go toFrame [FrameNumber]:跳转到帧。
go to [FrameNumber]:
go [FrameNumber]
go to movie “[MovieName]”
go movie “[MovieName]”
go to Frame “[MarkerName]”
go to “[MarkerName]”
go “[MarkerName]”
go to Frame [FrameNumber] of movie “[MovieName]”
go to [FrameNumber] of movie “[MovieName]”
go [FrameNumber] of movie “[MovieName]”
go loop
go next
go previous
在上面的表达式中,[ ]中的内容表示这里要用相应的内容替换,以下都采用这种方式。
其中,[FrameNumber]表示帧的序号,[MovieName]表示影片的名称(包括路径或Internet网址),[Markername]表示标记名称。
这几个命令所要表达的是当发生某个事件时,影片的播放位置将跳转到某一帧,或者跳转到某指定标记的帧,或者跳转到某部影片,或者跳转到某一影片中的某一帧。
最下面的三个命令可以使影片循环播放、前进或倒退。
2.set
set也是一个经常用到的命令,它的用法可以包括下面四种情况:set the [LingoProperty] to [expression]
set the [LingoProperty=expression]
set [variable=expression]
3.play
play的用法如下:
play frame [FrameNumber]
play [FrameNumber]
play movie “[MovieName]”
play frame [FrameNumber] of movie “[MovieName]”
play Sprite [FlashSpriteNumber]
上述命令分别表示播放指定的帧,播放指定的影片,播放指定影片中的某一帧,播放指定通道中的Flash影片。
4.puppetSound
puppetSound的用法如下:
puppetSound [ChannelNumber],“[CastMemberName]”
puppetSound “[CastMemberName]”
puppetSound member “[CastMemberName]”
puppetSound 0
puppetSound [ChannelNumber],0
其中ChannelNumber表示声音通道号,一共可以控制8个声音通道。
上面的命令分别表示在指定的声音通道播放指定的声音剧组成员,停止声音播放并恢复剪辑室中声音通道对声音的控制,停止指定的声音通道中声音的播放并恢复剪辑室中声音通道对声音的控制。
5.quit
quit是单独使用的一个命令,它可以停止影片的播放,并退出Director或者放映机。
用户只需输入下面一段文字:
on mouseUp
quit
end
在影片播放时,如果点击鼠标,则将随时退出放映机。
二、Lingo运算符
*:表达式1*表达式2表示两个表达式相乘
/:表达式1/表达式2表示两个表达式相除求商
+:表达式1+表达式2表示两个表达式相加
-:表达式1-表达式2表示两个表达式相减
以上是最基本的数学运算符。
=:表达式1=表达式2用于比较两个表达式是否相同(true),false 1
<>:表达式1<>表达式2用于比较两个表达式是否不同(true),false 1
>:表达式1> 表达式2用于比较表达式1是否大于表达式2(true),false 1
>=:表达式1>=表达式2用于比较表达式1是否不小于表达式
2(true),false 1
<:表达式1<表达式2用于比较表达式1是否小于表达式2(true),false 1
<=:表达式1<=表达式2用于比较表达式1是否不大于表达式2(true),false 1
以上这些操作符可用于比较整数、浮点数、字符串、列表、矩形和点。
clearGlobals
clearGlobals 将所有的全局变量设为VOID
global
global 变量1,变量……声明全局变量以供其它函数和影片共享
pi
pi()给出浮点型的圆周率,如3.1415
property
property 值1,值……表明指定的属性和属性变量,用于父剧本或行为剧本
put
put 表达式计算表达式的值
QUOTE
QUOTE字符串QUOTE 表示"字符串"(在某些地方作为引号的替身)
set
set 特性(变量) to 表达式(to也可用=)将表达式的值赋给特性或变量
showGlobals
showGlobals:在消息窗口中显示所有的全局变量
showLocals
showLocals:在消息窗口中显示所有的局部变量
SPACE:表示空格键
TAB:表示Tab键
VOID:表示空值
and
语法:逻辑运算式一 and 逻辑运算式一
判断前后二个逻辑值的与值
or
语法:逻辑运算式一 or 逻辑运算式一
判断前后二个逻辑值的或值
三、Lingo指令
Abort
语法:abort
例如:if the freeBytes < 50*1024 then abort
中断正在执行的指令。
Ancestor
语法:property {optionalProperties} ancestor
ancestor表示子对象可以引用父程序之外的handler,也就是说,可以将部分handler放置在另一个script中,而这个script中的handler可以被其它子对象引用。
Backcolor
语法:member(whichCastMember).backColor = colorNumber
set the backColor of member whichCastMember to colorNumber
sprite(whichSprite).backColor
the backColor of sprite whichSprite
设定sprite或member的背景颜色,在设定sprite的背景颜色前必须将这个sprite设定为 Puppet,这个指令主要是用在使用工具窗口所绘制的向量图形上,对于其它图形也是适用的,但必须注意使用之后的变化,在使用这个指令之后,必须使用updateStage 指令更新舞台上的所有图形,这样才会得到新的画面。
Beep
语法:beep {numberOfTimes}
使用电脑内部的喇叭嘀一声,后面所加上的数字表示次数
Beepon
语法:the beepOn
当画面上某些特定的sprite启动后,表示将它指定为puppetSprite,若使用了画面上的图形,而这些图形并不是启动的sprite时,喇叭响一声,但是要将thebeepOn设定为真。
Birth
语法:birth (script 父程式的名称 , 值1 , 值2 , ...)
产生子剧本的指令。
Blend of sprite
语法:sprite(whichSprite).blend
the blend of sprite whichSprite
设定sprite融合的程度,数值可以是从0到100之间的数
Bottom of sprite
语法:sprite(whichSprite).bottom
the bottom of sprite whichSprite
查询sprite中的图形最低点到舞台上方边界的距离,本指令仅提供查询之用,不能够设定。
boxDropShadow of member
语法:member(whichCastMember).boxDropShadow
the boxDropShadow of member whichCastMember
演员的边线阴影高度
boxType of member
语法:member(whichCastMember).boxType
the boxType of member whichCastMember
演员的类别,总共有四种,以符号表示#adjust #scroll #fixed #limit。
Buttonstyle
语法:the buttonStyle
按钮的类别,在此可分为两种:一种将它设定为 0,另一种将它设定为 1。
set the buttonStyle=0
表示当画面上有许多按钮,而且都非常靠近时,若使用者按下某一个按钮,在还没有放开鼠标的时候,拖曳过其它的按钮时,其它按钮也会显示被按的情形,但当使用者拖到某一个按钮上放开鼠标后,这个按钮的指令就会被启动.
set the buttonStyle=1
虽然使用者按住鼠标移动到其它按钮上,但是其它按钮不会有任何反应。
Cast
backcolorcast
语法:member(whichCastMember).backColor = colorNumber
set the backColor of member whichCastMember to
演员的背景色。
casttype
语法:member(whichCastMember).type
the type of member whichCastMember
member( whichCastMember, which castLib). type
member whichCastMember of castLib whichCast.type
the type of member whichCastMember of castLib whichCast 判断演员的类型。
#animgif #ole #bitmap
#palette
#button #picture #cursor
#QuickTimeMedia
#digitalVideo #script #empty #shape #field #sound #filmLoop #swa #flash #text (#richText is now obsolete) #font
#transition #movie #vectorShape
Cast forecolor
语法:member(castName).foreColor = colorNumber
set the foreColor of member castName to colorNumber
演员前景色。
Cast height
语法:member(whichCastMember).height
the height of member whichCastMember
演员的高度,单位为像素。
Cast name
语法:member(whichCastMember).name
the name of member whichCastMember
演员名称。
Cast number
语法:member(whichCastMember).number
the number of member whichCastMember
演员的序号。
Cast picture
语法:member(whichCastMember).picture
the picture of member whichCastMember
把演员作为图片。
Cast purgepriority of cast
语法:member(whichCastMember).purgePriority the purgePriority of member whichCastMember 演员的内存调用方式。
0 never
1 last
2next
3normal
Cast rect
语法:member(whichCastMember).rect
the rect of member whichCastMember
演员的在舞台上的坐标。
Cast scripttext
语法:member(whichCastMember).rect
the rect of member whichCastMember
定义剧本位置。
Cast width
语法:member(whichCastMember).width
the width of member whichCastMember
演员的宽度。
CastLibnum
语法:member(whichCastMember).castLibNum
the castLibNum of member whichCastMember
sprite(whichSprite).castLibNum
the castLibNum of sprite whichSprite
演员或者生成精灵的演员所在的剧组编号。
Centerstage
语法:the centerStage
判断、设置舞台是否居中。
changeArea
语法:member(whichCastMember).changeArea
the changeArea of member whichCastMember
检测或设置过渡效果的作用范围。
Checkboxaccess
语法:the checkBoxAccess
按钮样式,主要是控制使用者是否可以改变按钮的形态,共分三种,如下所示:
0 让使用者按下之后可以开关按钮
1 让使用者按下之后只能开,但不能关
2 让使用者按下之后不可以开关按钮
Checkboxtype
语法:the checkBoxType
改变按钮的形态,这个指令可以为它设计形状:
0 加上一个X的符号
1 加上一个填满黑色的方块图形
Clear globals
语法:clearGlobals
将所有的global变量初始值设定为0。
colordepth
语法:imageObject.depth
member(whichCastMember).depth
the depth of member whichCastMember
查询目前电脑上所设定的颜色深度。
数值说明:
1 黑白
2 4 种颜色
4 16 色8 256 色
16 32,768 色32 16,777,216 色
Constrainh
语法:constrainH (whichSprite, integerExpression)
查询一个数值,看它是否在某个sprite图形的左右边以内的位置上,若此数值在这个图形的左右边以内的位置上,则结果值为此数值;若是小于图形左边的位置,则结果值为图形左边的值;若大于图形右边的位置,则结果值为图形右边的值。
例如:sprite1的图形左右边的位置为40和60,则:
put constrainH(1,20)
--40
put constrainH(1,55)
--55
put constrainH(1,100)
--60
Constraint of sprite
语法:sprite(whichSprite).constraint
the constraint of sprite whichSprite
设定某个精灵的移动范围,当使用constraint的设定后,此精灵将只会在所定的区域之中移动,而无法移动到所定的区域之外;要取
消区域的设定只要将它设定为0即可。
Constrainv
语法:constrainV (whichSprite, integerExpression)
与constrainH的用法类似,查询一个数值,看它是否在某个sprite图形的上下边以内的位置上,若此数值在图形的上下边以内的位置,结果值为此数值;若是小于图形上边的位置;则结果值为图形上边的值;若大于图形下边的位置,则结果值为图形下边的值。
Continue
语法:continue
结束所有的暂停动作,继续影片的播放。
Controller of cast
语法:member(whichCastMember).controller
the controller of member whichCastMember
针对QuickTime for Windows 的影片而言,这个指令可以将它的控制按钮显示或隐藏,若设定值为0,则隐藏控制按钮;若设定值为1,则显示控制按钮。
Date
语法:date(ISOFormatString)
date(ISOFormatInteger)
date(ISOFormatIntegerYear, ISOFormatIntegerMonth, ISOFormatIntegerDay)
日期的指令。
Delay
语法:delay numberOfTicks
延迟的时间,单位为Tick,60个Tick等于一秒钟。
Do
语法:do stringExpression
表示执行在表示式所写的指令。
Done
play done
语法:结束play指令的动作,回到调用它的地方。
dontPassEvent
语法:dontPassEvent
在Handler结束后,可能会将执行的动作交给下一个可执行的Handler,若在Handler结束前再加上dontPassEvent指令,它就会将执行的动作停止,而不会交给下一个可执行的Handler。
Drawrect of window
语法:window windowName.drawRect
the drawRect of window windowName
查询或设定窗口的大小。
Duplicate cast
语法:member(originalMember).duplicate()
member(originalMember).duplicate({new})
duplicate member original {, new}
复制一帧,但必须配合beginRecording使用。
Else
语法:if 表示式一 then statement(s)
else statement(s)
end if
逻辑判断配合if 使用,在if 后面所使用的表示式为真值时执行then,为假值时执行else后的语句。
Empty
语法:EMPTY
表示空字符串。
Enable of menuitem
语法:the enabled of menuItem whichItem of menu whichMenu
设定菜单项之中的一个或多个项目为可选或是不选状态。
End
语法:end
结束动作,通常是Handler的动作。
Enter
语法:Enter
回车键。
Enterframe
语法: on enterFrame
statement(s)
end enterFrame
进入帧执行剧本。
Erase
语法:member(whichCastMember).erase()
erase member whichCastMember
删除演员。
Exit
语法:exit
离开当前Handler返回调用当前Handler的Handler。
Exit repeat
语法:exit repeat
跳出repeat循环。
Exitframe
语法:on exitFrame
statement(s)
end
离开当前帧,则执行statement(s)中的剧本。
False
逻辑值假。
Filename of castlib
语法:castLib(whichCast).fileName
the fileName of castLib whichCast
剧组文件名。
Filename of window
语法:window whichWindow.fileName
the fileName of window whichWindow
窗口中的影片名。
Findempty
语法:findEmpty(member whichCastMember)
查询下一个位置为空白的演员编号。
Findpos
语法:list.findPos(property)
findPos(list, property)
从list中找出property的位置。
Findposnear
语法:sortedList.findPosNear(valueOrProperty) findPosNear(sortedList, valueOrProperty)
同Findpos,只是找出的是近似值。
Fixstagesize
语法:the fixStageSize
这个指令可以设定调入新影片时,舞台的大小是否保持不变。
若
fixStageSize的值为真,则载入新影片时舞台的大小不会改变,若fixStageSize的值为假,则载入新影片时舞台的大小会改变。
Float
语法:(expression).float
float (expression)
将表达式的值变为浮点数。
Floatp
语法:(expression).floatP
floatP(expression)
判断表达式“expression”的值是否为浮点数,若是浮点数,则值为真,若不是浮点数,则值为假。
Floatprecision
语法:the floatPrecision
设定的小数位数。
Forget window
语法:window(whichWindow).forget()
forget window whichWindow
关闭窗口。
Frame
语法:the frame
返回当前帧的值。
Framelable
语法:the frameLabel
返回当前帧上的marker名,如果没有则返回空字符串。
Framepalette
语法:the framePalette
返回当前帧使用的调色板的演员编号。
Framerate of cast
语法:member(whichCastMember).frameRate
the frameRate of member whichCastMember
若whichCastMember为影片,则可以用这个指令来控制影片的播放。
0正常速度
-1 以正常速度播放每一个镜头
-2以最快的速度播放每一个镜头
255最大速度
Framescript
语法:the frameScript
返回当前帧剧本在剧组中的编号。
Frametempo
语法:the frameTempo
返回帧节奏。
Freeblock
语法:the freeBlock
返回剩余的内存空间,单位为字节。
Freebytes
语法:the freeBytes
返回剩余的内存空间,单位为字节。
GetNthFilenameinfolder
语法:getNthFileNameInFolder(folderPath, fileNumber)
查找folderPath下名为fileNumber的文件。
Global
语法:global variable1 {, variable2} {, variable3}...
变量定义。
Halt
语法:halt
挂起影片。
Idle
语法:on idle
statement(s)
end
播放影片时,如果没有执行任何Handler,则可以让影片来执行idle Handler中的指令,但是因为影片一有空档就会执行这个Handler,所以在这个Handler中尽量不要放置太多的指令,以免影响到影片播放的速度。
If
语法:if logicalExpression then statement
else statement
end if
if logicalExpression then
statement(s)
end if
if logicalExpression then
statement(s)
else
statement(s)
end if
if logicalExpression1 then
statement(s)
else if logicalExpression2 then
statement(s)
else if logicalExpression3 then
statement(s)
end if
if logicalExpression1 then
statement(s)
else logicalExpression2
end if
在if后面所使用的表达式为真值时执行then,为假值时执行else 后的语句。
Importfileinto
语法:importFileInto member whichCastMember, fileName importFileInto member whichCastMember of castLib whichCast, fileName
importFileInto member whichCastMember, URL
将文件导入剧组成员窗口中。
Inflate rect
语法:rectangle.Inflate(widthChange , heightChange)
inflate (rectangle, widthChange, heightChange)
改变矩形的宽度和高度,矩形的大小改变时,中心点不变。
Ink of sprite
语法:sprite(whichSprite).ink
the ink of sprite whichSprite
查询或设置精灵的墨水的数值。
数值和墨水的对应情况如下:
0 copy 32 blend
1 transparent 33 add pin
2 reverse 34 add
3 ghost 35 subtract pin
4 not copy 36 background transparent
5 not transparent 37 lightest
6 not reverse 38 subtract
7 not ghost 39 darkest
8 matte 40 lighten
9 mask 41 darken
Inside
语法:point.inside(rectangle)
inside(point, rectangle)
判断点是否在矩形rectangle内,若点在矩形之中,则返回真;反之,则返回假。
Installmenu
语法:installMenu whichCastMember
将文字演员设置为菜单,使用installMenu将取消设置。
Integer
语法:(numericExpression).integer
integer(numericExpression)
返回numericExpression的整数部分。
Integerp
语法:expression.integerP
(numericExpression).integerP
integerP(expression)
判断expression是否为整数。
Intersects
语法:rectangle1. Intersect(rectangle2)
intersect(rectangle1, rectangle2)
判断两个矩形是否重叠。
label
语法:label(expression)
返回marker“expression”的帧数。
labellist
语法:the labelList
返回一个marker名字符串,一个marker名为一行。
lastframe
语法:the lastFrame
返回影片最后一帧的帧数。
left of sprite
语法:sprite(whichSprite).left
the left of sprite whichSprite
返回精灵在舞台上最左边的像素点的水平坐标。
loaded of cast
语法:member(whichCastMember).loaded
the loaded of member whichCastMember
判断演员是否装入内存。
loch of sprite
语法:sprite(whichSprite).locH
the locH of sprite whichSprite
返回精灵注册点在舞台的水平坐标。
locv of sprite
语法:sprite(whichSprite).locV
the locV of sprite whichSprite
返回精灵注册点在舞台的垂直坐标。
loop of cast
语法:member(whichCastMember).loop
the loop of member whichCastMember
如果whichCastMember是数字视频或者声音、Flash动画,则循环播放。
marker
语法:marker(integerExpression)
marker("string")
返回"string"所在的帧数,integerExpression是数字,对应的值如下:
marker(2) 返回当前帧以后的第二个marker的帧数
marker(1) 返回当前帧以后的第一个marker的帧数
marker(0) 如果当前帧有marker,则返回当前帧的帧数,如果没有则返回当前帧前的第一个marker的帧数
marker(-1) 返回marker(0) 以前的第一个marker的帧数
marker(-2) 返回marker(0) 以前的第二个marker的帧数。