#12002/1/4 0:24:34
on closeWindow
语法
on closeWindow
语句
end
描述
系统信息和事件处理程序,包含着当用户通过点击Windows关闭盒子关闭一个窗口电影时的运行语句。
这个on closewindow处理程序,是一个放置每次电影窗口关闭时你想要执行的lingo命令的好地方。
例如
这个处理程序告诉Director,当用户关闭正在播放的电影窗口时,删除当前窗口。
on closeWindow
--这里执行一般的事务处理
forget the activeWindow
删除激活窗口
end
color()
语法
color(#rgb, redvalue, greenvalue, bluevalue)
color(#paletteIndex, paletteIndexNumber)
rgb(rgbHexString)
rgb(redvalue, greenvalue, bluevalue)
paletteIndex(paletteIndexNumber)
描述
功能和数据类型;以任意一个RGB或者8位的调色板索引数值来定义一个目标颜色。这些目标颜色数值就象那些用在颜色成员和颜色sprite属性,背景颜色成员和背景颜色sprite属性,和舞台的背景颜色属性的数值是一样的。这个颜色函数允许对于24位或者8位的颜色数值进行使用,也可以应用于角色成员,sprite和舞台。 对于RGB数值,每个颜色组成有一个从0到255的范围,所有的其他数值都会被切到顶值。对于调色板索引类型,是一个从0到255的整数,用来显示在当前调色板的索引数字,其它的数值将被切到顶值。
例如
这个语句执行一个数字操作
palColorObj = paletteIndex(20)
put palColorObj
-- paletteIndex(20)
put palColorObj / 2
-- paletteIndex(10)
例如
这个语句转换一个颜色类型成另一个类型
newColorObj = color(#rgb, 155, 0, 75)
put newColorObj
-- rgb(155, 0, 75)
newColorObj.colorType = #paletteIndex
put newColorObj
-- paletteIndex(106)
例如
这个语句得到一个16进制的颜色数值而不管它的类型
someColorObj = color(#paletteIndex, 32)
put someColorObj.hexString()
-- "#FF0099"
例如
这个语句决定个别的RGB组成和索引色数值而不管它的类型
newColorObj = color(#rgb, 155, 0, 75)
put newColorObj.green
-- 0
put newColorObj.paletteIndex
-- 106
newColorObj.green = 100
put newColorObj.paletteIndex
-- 94
put newColorObj
-- rgb(155, 100, 75)
newColorObj.paletteIndex = 45
put newColorObj
-- paletteIndex(45)
例如
这个语句改变文本成员“myQuotes”中第4到第7个字符的颜色
member("myQuotes").char[4..7].color = rgb(200, 150, 75)
例如
这个Lingo在消息窗口显示sprite 6的颜色,然后设置这个Sprite 6颜色成一个新的RGB数值
"put sprite(6).color
-- rgb( 255, 204, 102 )
sprite(6).color = rgb(122, 98, 210)"
注意:设置一个RGB类型颜色成索引色会改变颜色类型成索引色。设置一个索引色成RGB数值会调整它的颜色类型成为RGB类型。
同样的看
color(), bgColor
color (text)
语法
chunkExpression.color
描述
文本角色成员属性,显示字符串chunkExpression的颜色,这个属性可以检测和设置
例如
这个语句设置成员"Short speech"的第三段颜色成为红色
member("Short speech").paragraph.color = rgb(255, 0, 0)
color (sprite property)
语法
sprite(whichSpriteNumber).color
the color of sprite whichSpriteNumber
描述
sprite属性,决定指定sprite的前景颜色。当sprite在舞台上被选择时,设置sprite的前景色属性相当与从工具窗口选择前景色。这个属性有设置sprite的前景色的同样功能,但是这个颜色数值返回的是一个目标的颜色数值,不管这个sprite已经被设置成什么类型的颜色。这个属性可以被检测和设置。
同样的看
color(), bgColor, foreColor
colorDepth
语法
the colorDepth
描述
系统属性,决定计算机显示器的颜色深度。
在Windows里,使用这个属性让你检查和设置显示器的颜色深度。一些视频卡和驱动程序组合不能让你设置颜色深度属性,当你尝试去设置颜色深度的时候,总是校验事实上已经改变了的颜色深度。 在苹果计算机上,这个属性让你检测不同的显示器颜色深度并且在合适的时候改变它。
下面是可能的数值:
1
黑色和白色
2
4色
4
16色
8
256色
16
32,768或者65,536色
32
16,777,216色
如果你试图改变成一个显示器不支持的颜色深度,那么显示器的颜色深度是不改变的。当计算机有超过一个显示器时,这个颜色深度属性提交给显示舞台的显示器。如果舞台的范围超过一个显示器,那么颜色属性将显示这些显示器最好的颜色深度,颜色深度试图设置所有的这些显示器到达指定的颜色深度。这个属性可以被检测和设置。
例如
这个语句告诉Director仅仅在显示器颜色深度设置成256色时,播放这个全色彩的片段。
if the colorDepth = 8 then play movie "Full color"
例如
下面的处理程序试图去改变颜色深度,如果不能,显示警告信息:
on TryToSetColorDepth desiredDepth
the colorDepth = desiredDepth
if the colorDepth = desiredDepth then
return true
else
alert "Please change your system to" && desiredDepth &&"color depth and reboot."
return false
end if
end
当改变用户显示器颜色深度设置时,一个很好的习惯是当影片结束时恢复原来的颜色深度。在Winodws,这个命令设置colorDepth=0恢复用户控制面板上首选的设置。
同样看
switchColorDepth
commandDown
语法
the commandDown
功能,测定控制键是否按下(PC Winodws下)或者Command键(苹果机下)是否按下
你可以使用CommandDown和元素键一起测定当控制键或者Command键按下时组合的其它键。当用户按下指定的控制键或者Command键组合时,这个让你建立执行的处理程序。 控制键或者Command键相当于当电影播放时,Director创作者接受的优先的菜单, 除非你已经安装了自定义的lingo菜单或者正在播放一个放映机版本的电影。 当一个电影用Director的Java播放器回放时,这个函数仅仅当控制键或者Command和一个其它键同时按下时返回真值。如果只是控制键或者Command键自己按下时返回的是假值。这是因为浏览器在电影之前接受到按键,因而作出反应去中断那些也是浏览器键盘快捷键组合的按键。例如,如果用户按下Ctrl+R或者Command+R,浏览器将重载入当前页,电影将永远接受不到这个按键组合。作为一个在lingo修改按键范例,请看在Director 帮助里的例子电影"Keyboard Lingo"
例如
这些语句不管任何时候用户按下Ctrl+A或者Command+A时暂停一个放映机。通过设置键盘按下脚本的属性去执行DocommandKey脚本,这个on preparemovie处理程序使DoCommandKey成为当一个键被按下时,第一事件处理程序来执行。这个doCommandKey处理程序检查是否Ctrl+A或者Command+A键被同时按下,如果时则暂停电影。
on prepareMovie
the keyDownScript = "doCommandKey"
end
on doCommandKey
if (the commandDown) and (the key = "a") then go to the frame
end
同样的看
controlDown, key(), keyCode(), optionDown, shiftDown
comments
语法
member.comments
the comments of member
描述
这个角色成员属性供给一个地方,去存储任何你想用来维护关于给出的角色成员的注释,或者任何其它你想和这个成员联合的注释行。这个属性能够被检测和设置,它也能够被在检查成员表单属性里设置。
例如
这个语句设置成员"Backdrop"的注释行""Still need to license this artwork"
member("Backdrop").comments = "Still need to license this artwork"
同样的看
creationDate, modifiedBy, modifiedDate
constrainH()
语法
constrainH (whichSprite, integerExpression)
描述
功能,求出integerExpression的值和然后返回一个依靠在水平上指定Sprite的左右边界坐标的数值,如下
当这个数值是在左右坐标值之间,这个数值不改变。当这个数值小于左边水平坐标,这个数值改变成为左边坐标的数值,当这个数值大于右边界水平坐标时,这个数值改变成为右边界的坐标
这个ConstrainH 和ConstrainV功能约束仅仅在每一个轴上,这个sprite的属性也一样受到这个约束。
注意这个功能不改变这个sprite的属性
例如
这些语句检测当sprite 1有一个左右边界为40到60时,水平坐标功能
put constrainH(1, 20)
-- 40
put constrainH(1, 55)
-- 55
put constrainH(1, 100)
-- 60
例如
这个语句当鼠标指针移动超过规格边界时,约束一个可以移动的滑条(sprite 1)在一个规格(sprite 2)内
set the locH of sprite 1 to constrainH(2, the mouseH)
同样的看
constrainV(), constraint, left, right
constraint
语法
sprite(whichSprite).constraint
the constraint of sprite whichSprite
描述
sprite属性,决定指定sprite的注册点是否被另一个sprite约束(1或者真)或者不受约束(0或者假,默认是假)的矩形范围之内。
这个约束sprite属性,用来约束一个可移动的sprite在另一个sprite的矩形范围内,去模拟一个滑动控制条的轨道是很有用的,或者用来约束在屏幕上游戏里一个用户可以拖拽的一个物体。这个约束sprite属性影响移动sprite和sprite属性的水平和垂直坐标,一个可移动sprite的约束点不能被移动出约束sprite的矩形范围之内(这个约束点对于一个BMP sprite来说就是它的注册点,这个约束点对于一个图形sprite来说就是它的左上角。) 当一个sprite 有一个约束设置,这个约束限制不管任何水平和垂直坐标的sprite的属性设置.这个属性可以被检测和设置。
例如
This statement removes a constraint sprite property:
这个语句解除一个约束sprite属性
语法格式
sprite(whichSprite).constraint = 0
详细语法
set the constraint of sprite whichSprite to 0
例如
这个语句约束sprite(i+1)在sprite 14的范围之内
sprite(i + 1).constraint = 14
例如
这个语句检测sprite3是否被约束,如果是则激活showConstraint处理程序(这个操作<>执行一个不等于操作)
if sprite(3).constraint <> 0 then showConstraint
同样的看
constrainH(), constrainV(), locH, locV
constrainV()
语法
constrainV (whichSprite, integerExpression)
描述
功能,求integerExpression的值,然后返回一个依靠在垂直指定sprite上下边界坐标,如下
当这个数值在上下坐标之间,这个数值就不改变,如果这个数值小于上坐标,这个数值就改成上坐标,当这个数值大于下坐标,这个数值就改成下坐标。这个功能不改变sprite属性。
例如
这些语句检查当sprite 1有一个40到60的上下坐标限制时,垂直坐标功能
put constrainV(1, 20)
-- 40
put constrainV(1, 55)
-- 55
put constrainV(1, 100)
-- 60
例如
这个语句当鼠标指针移动滑过规格边界时,约束一个可移动滑条(sprite 1)在一个规格(sprite 2)的边界
set the locV of sprite 1 to constrainV(2, the mouseV)
同样的看
bottom, constraint, top, constrainH()
cpuHogTicks
语法
the cpuHogTicks
描述
系统属性,决定Director多久释放对CPU控制,让计算机处理后台事件。例如在其它应用软件的事件网络事件,时钟更新和其它键盘事件。默认数值是20个滴答。为了给Director在释放CPU给后台事件或者控制计算机怎么响应网络操作之前更多时间,设置cpuHogticks成一个更大的数值。建立更快的自动重复执行键但更慢的活泼,设置cpuHogTicks成一个更低的数值。在一个电影里,当用户按下一个键去产生一个快速的自动重复按键,Director代表性地检测自动重复按键低于在计算机控制面板里设置的频率频率,这个cpuHogticks属性仅仅在苹果机器上有效。
例如
这个语句告诉Director每个6个滴答或者每隔0.10 秒释放对cpu的控制。
the cpuHogTicks = 6
同样的看
ticks
curve
语法
member.curve[curveListIndex]
描述
这个属性包含着从一个矢量图形角色得到的一个单独曲线(图形)最高点列表。你可以使用曲线属性连同矢量属性一起去取得一个在矢量图象里的精确的曲线的个别的矢量。一个顶点列表就是一个顶点的列表,每个顶点是一个属性列表一直包含到三个属性:一个带有矢量位置的矢量属性,一个哪个顶点第一个控制点位置处理程序属性,一个哪个顶点第二个控制点的处理程序属性,看顶点列表
例如
这个语句显示第三个矢量图形成员"simpleCurves"曲线顶点列表
put member("SimpleCurves").curve
-- [[#vertex: point(113.0000, 40.0000), #handle1: point(32.0000, 10.0000), #handle2: point(-32.0000, -10.0000)], [#vertex: point(164.0000, 56.0000)]]
例如
这个语句移动一个矢量图形的第一个曲线的第一个顶点由下到右10个像素。
member(1).curve.vertex = member(1).curve.vertex + point(10, 10)
例如
这个代码下移动一个sprite到一个矢量图形的第一个曲线的第一个顶点的位置,这个矢量图形的原始形状必须设成#topleft模式来进行这个工作。
vertexLoc = member(1).curve.vertex
spriteLoc = mapMemberToStage(sprite(3), vertexLoc)
sprite(7).loc = spriteLoc
同样的看
vertex, vertexList
debugPlaybackEnabled
语法
debugPlaybackEnabled
描述
属性,在ShockWave和放映机里打开一个消息窗口去调试目标。当它用在Director应用程序里时没有任何影响。一旦消息窗口被关闭,它不能够再次打开一个详细的shockwave或者放映机会议。如果超过一个shockwave电影用这个lingo在一个单独的浏览器,只有第一个将会打开消息窗口,而且消息窗口将被第一个电影单独约束。 打开这个消息窗口,设置debugplaybackEnabled属性为真,关闭窗口,设置debugplaybackEnabled属性为假。
注意:在苹果机器上shockwave里,超过一个消息窗后打开时,一个日子文件产生,允许用put语句去输出调试目标数据。这个文件位于shockwave 8文件夹里,在硬盘盘符:系统文件夹:扩展:macromedia:shockwave 8里