#42001/1/21 22:50:06
qtRegisterAccessKey
语法:qtRegisterAccessKey(categoryString, keyString)
描述:命令,allows registration of a key for encrypted QuickTime media.
该键是请求级别的键,而非系统键。在unregisters命令发出或关闭之后,该键对媒体就不起作用了。
附:由于安全原因,没有办法陈列所有注册键。
参考:qtUnRegisterAccessKey
qtUnRegisterAccessKey
语法:qtUnRegisterAccessKey(categoryString, keyString)
描述:命令, allows the key for encrypted QuickTime media to be unregistered.
该键是请求级别的键,而非系统键。在unregisters键发出请求后, only movies encrypted with this key continue to play. 其他媒体就再也不起作用了。
参考:qtRegisterAccessKey
quad
语法:sprite(角色所在通道的数字).quad
描述:角色属性; 包含在舞台上的角色的四个角所处位置的值的浮点数的列表。四个点的排列顺序如下:左上角,右上角,右下角,左下角.
利用该点,可以做出透明和扭曲的效果,在你设置该属性后,你可以关闭角色通道来重新设置它。当该属性被设置成不可用时,角色是不可以旋转或变形的。
在Director 所在目录下Learning\Lingo Examples有一个完整的例子,可供参考。
例:以下例子是典型地描述了该属性
put sprite(1).quad
-- [point(153.0000, 127.0000), point(231.0000, 127.0000), \
point(231.0000, 242.0000), point(153.0000, 242.0000)]
例:当你修改该属性的时候,你必须知道,在改变任何一个值之后,必须重置列表,这是因为当你为属性定义一个变量的时候,变量只是列表的拷贝,而不是列表本身。让改变发生作用,可以利用象以下的语句:
-- 提取当前属性值
currQuadList = sprite(5).quad
--在第一个点的横向和竖向增加50个像素
currQuadList[1] = currQuadList[1] + point(50, 50)
-- 令改变发生作用
sprite(5).quad = currQuadList
参考 rotation, skew
quality
语法:sprite(whichFlashSprite).quality
the quality of sprite whichFlashSprite
member(whichFlashMember).quality
the quality of member whichFlashMember
描述:Flash 演员和角色属性; 通过该属性,可以控制director利用 anti- aliasing播放Flash时的质量高低问题,该属性的参数有:
#autoHigh-director. 如果实际侦速底于电影所设定的速度,Director将把anti-aliasing关闭. 利用该设置,跟随速度优于画面质量。
#autoLow-Director开始播放的时候,不利用anti-aliasing. 如果Flasht播放器检查到中央处理器有足够的资源应付,便把anti-aliasing打开.无论如何,该设置均把画面质量放于首位。
#high (default)-播放电影的时候,总是把anti-aliasing打开.
#low-播放电影的时候,总是把anti-aliasing关闭。
该属性可以被读取和设置。
例:该角色行为测试播放本电影的计算机的像素,如果像素被设成8B或更底 (256种颜色)程序将把第五通道的角色的该属性设置成#low.
on beginSprite me
if the colorDepth <= 8 then
sprite(1).quality = #low
end if
end
queue()
语法: sound(channelNum).queue(member(whichMember))
sound(channelNum).queue([#member: member(whichmember), {#startTime: milliseconds, #endTime: milliseconds, #loopCount: numberOfLoops, #loopStartTime: milliseconds, #loopEndTime: milliseconds, #preloadTime: milliseconds}])
queue(sound(channelNum), member(whichMember))
queue(soundObject, [#member: member(whichmember), {#startTime: milliseconds, #endTime: milliseconds, #loopCount: numberOfLoops, #loopStartTime: milliseconds, #loopEndTime: milliseconds, #preloadTime: milliseconds}])
功能描述: 将声音演员添加到指定的声音通道的队列中。
当一个声音被放置队列中,用the play()命令就可以立即播放. 这是因为Director 会为每个被假如队列的声音预载一定的数量,以防止发出the play() 命令后到正式播放之间的时间延迟。预载量默认值是1500豪秒。 该参数可以通过queue() 命令的参数列表修改,参数列表的参数可以是一个或一个以上。
你可以利用queue()命令指定任何可以被指定的属性参数。
属性描述:
#member 把声音演员列表. 该属性是必须的条件; 其他都是可选的.
#startTime 声音播放时所在声音时间段上的时间,以豪秒计算. 默认值是声音的开头. 参考 startTime.
#endTime 所播放的声音结束是的时间, 以豪秒计算. 默认值是声音的结尾. 参考endTime.
#loopCount 在 #loopStartTime 和 #loopEndTime之间定义的循环段的循环次数.默认值是1,参考:loopCount.
#loopStartTime 声音开循环所在的时间点, 以豪秒计算. 参考 loopStartTime.
#loopEndTime 声音结束环所在的时间点, 以豪秒计算. 参考loopEndTime.
#preloadTime 声音播放前的缓冲数量, 豪秒计算. 参考preloadTime.
这些参数对于setPlayList()命令来说是过时的。
To see an example of queue() used in a completed movie, see the Sound Control movie in the Learning\Lingo Examples folder inside the Director application folder.
例: 这程序对恋歌声音进行列队并播放. 第一个声音演员是 Chimes,它被完全播放. 第二个声音演员是introMusic, 从3秒的地方开始播放,对8-8.9秒之间循环5次,在10秒的地方结束,
on playMusic
sound(2).queue([#member: member("Chimes")])
sound(2).queue([#member: member("introMusic"), #startTime: 3000,\
#endTime: 10000, #loopCount: 5, #loopStartTime: 8000, #loopEndTime: 8900])
sound(2).play()
end
参考: startTime, endTime, loopCount, loopStartTime, loopEndTime, preLoadTime, setPlaylist(),play() (sound)
quickTimeVersion()
语法: quickTimeVersion()
描述: 函数; 返回当前安装的QuickTime 的版本的浮点数并且替代QuickTimePresent 的函数.
在Windows里, 如果版本是由QuickTime 3.0或更新的版本共存,那么将返回quickTimeVersion()将返回最新的版本号.安装的是QuickTime 3.0以前的版本的, quickTimeVersion() 将忽略所安装的版本而返回2.1.2这个值。
例:这语句在信息窗口中利用quickTimeVersion()显示当前安装的QuickTime 的版本号
put quickTimeVersion()
quit
语法: quit
描述:命令;退出Director或程序
例:这个语句的作用是当用户按下Control+Q (WINDOWS)或Command+Q (苹果机)时,退出程序。
if the key = "q" and the commandDown then quit
参考: restart, shutdown
QUOTE
语法 QUOTE
描述: 常量;表示引号,在字符串中,由于应用的内容需用引号引用,所以在Lingo中用该常量表示内容中的引号。
例:该语句在字符串中插入引号:
put "Can you spell" && QUOTE & "Macromedia" & QUOTE & "?"
结果是把单词Macromedia用引号引起来
ramNeeded()
语法:ramNeeded (firstFrame, lastFrame)
描述: 函数;检测显示指定的一系列的帧所需要的内存,一字节为单位。 例如, 你可以检测包含32位图的片段的容量,如果ramNeeded()返回的值比freeBytes()返回的值大,则转到只包含8-bit的片段并且把1024 字节转化成千字节 (K)。
例:该语句将显示电影第100帧到125帧所需的字节数值富裕变量frameSize
put ramNeeded (100, 125) into frameSize
例:该语句判断显示电影第100帧到125帧所需的内存是否比实际可用的内寻大,如果是,则转到利用位深更低(8-bit)的演员的的地方。
if ramNeeded (100, 125) > the freeBytes then play frame "8-bit"
参考:Bytes(),size
random()
语法: random(整数表达式)
描述: 函数;返回1到指定值之间的随意一个整数。 该函数可以使电影产生多样化的效果。例如,可以在游戏中产生不规则的运动途径,不同的音效,或者不同的颜色、不同的位置。
先产生一个不是从一开始的随意数,然后把差值从random()中减去。如,表达式random(n + 1) - 1 产生从0到指定n中的一个随意数。
例:该语句给变量diceRoll指定一个随意值
set diceRoll = random(6) + random(6)
下边的语句给通道10产生随意的前景色
sprite(10).forecolor = random(256) - 1
下边的程序使可以随意选择一个电影的两个片段进行播放
on SelectScene
if random(2) = 2 then
play frame "11a"
else
play frame "11-b"
end if
end
以下的语句产生在一定范围内特别的数:
这一语句随意产生包含在5到100之间且是5的倍数的一个数
theScore = 5 * random(20)
下边的语句产生包含在0到100之间且是5的倍数的一个数
theScore = 5 * (random(21) - 1)
下边的语句产生包含在-10到10之间
dirH = random(21) - 11
下边的语句产生含有两个小数点的浮点数:
the floatPrecision = 2
theCents = random(100)/100.0 - .01
rawNew()
语法: parentScript.rawNew()
rawNew(parentScript)
描述:函数,在还没有调用父剧本的on new 程序前,产生一个子对象。这样,在电影中,在对子对象初始化前便可以产生子对象。调用on new 来初始化其中一个没有初始化子对象的属性,这对你为以后产生大量的子对象是非常有用的。
例:该语句在没有初始化前从父代剧本CarParentScript中产生一个子对象RedCar 。
RedCar = script("CarParentScript").rawNew()
以下语句对RedCar:进行初始化
RedCar.new()
参考:new(),script
recordFont
语法: recordFont(whichCastMember, font {[,face]} {,[bitmapSizes]} {,characterSubset} {, userFontName})
描述:命令;将一个字体一个演员,该字体被嵌入,用户就可以象利用装在系统的字体一样利用它。在利用recordFont前,必须利用new()命令产生一个空字体演员
* font——被打包的字体的名称。
* face——字体类型列表,可取值可以是 #plain, #bold, #italic. If you do not provide a value for this argument, #plain is used.
*bitmapSizes——位图字体大小的列表,该参数可以不设置。如果你省略该参数值,便不产生位图。这些位图在比较小的时候(小于14),看起来效果比好,但需要更多的内存。
CharacterSubset——被编辑的字符串。只有被指定的字符才可以利用该字体。如果该参数被设置,所有的字符都被编译 。如果只有当前的字符被编译,而有没编译的也在使用,那么显示的将是一个空框
*userFontName——最近被标记的字体演员名称
该命令在一个演员产生一个Shock Font 字体;从指令返回的值判断操作是否成功。零表示成功。
例:该语句用两个参数将字体Shock Font 嵌入一个演员里
myNewFontMember = new(#font)
recordFont(myNewFontMember, "Lunar Lander")
以下语句指定位图的尺寸,并产生字体字符。
myNewFontMember = new(#font)
recordfont(mynewmember,"lunar lander", [], [14, 18, 45], "Lunar Lander Game High \Score First Last Name")
注:当字体被嵌入后, Since recordFont resynthesizes the font data rather than using it directly, there are no legal restrictions on Shock Font distribution.
参考:new()
rect()
语法:rect (left, top, right, bottom)
rect(point1, point2)
描述:函数和数据类型,定义一个矩形。rect(left, top, right, bottom)通过指定矩形的左、上、右和下四边而确定一个矩形。左右两个值是舞台左边到矩形的边的象数值,上下两个值是舞台上边到矩形的边的象数值
rect(point1, point2) 格式用 point1 和 point2确定矩形。你可以用列表语法或属性语法确定以下的两个语句的作用是相等的:
targetWidth = targetRect.right - targetRect.left
targetWidth = targetRect[3] - targetRect[1]
你可以改变矩形的形状。如果你在矩形添加一个值,Lingo将为矩形的每个元素添加它的值。
请参考Director目录下Learning\Lingo Examples 一个移动矩形的例子。
例:这个语句设置举行newArea举行左为100,上为150,右为300,下为400。
set newArea = rect(100, 150, 300, 400)
以下语句用点和secondPoint设定矩形newArea,firstPoint的坐标是 (100, 150);secondPoint的坐标是 (300, 400)。该语句与上一语句产生的效果一样
put rect(firstPoint, secondPoint)
该语句改变矩形的值:
put rect(0,0,100,100) + rect(30, 55, 120, 95)
-- rect(30, 55, 220, 195)
put rect(0,0,100,100) - rect(30, 55, 120, 95)
-- rect(-30, -55, -20, 5)
该语句在矩形的没边添加80个象素
put rect(60, 40, 120, 200) + 80
-- rect(140, 120, 200, 280)
该语句为矩形进行1/3缩小
put rect(60, 40, 120, 200) / 3
-- rect(20, 13, 40, 66)
参考:point(),quad
rect (image)
语法: imageObject.rect
描述:只读属性,返回指定图象矩形边的值。位置与左上角的值无关,因为,左边和上边的值总为零,右边和下边的值为图象的宽和高
例:该语句在消息窗口返回演员Sunrise矩形的值为300 x 400 象素。
put member("Sunrise").image.rect
-- rect(0, 0, 300, 400)
以下程序监视演员表中第一到第五十个演员中演员类型为位图(bitmap)的矩形的值:
on showAllRects
repeat with x = 1 to 50
if member(x).type = #bitmap then
put member(x).image.rect && "-" && member(x).name
end if
end repeat
end
参考: height, width
rect (member)
语法:member(whichCastMember).rect
the rect of member whichCastMember
描述:演员表属性。指定演员表中左、上、右和下边位置。
例如一个位图,它的左上角的位置是确定的,我们可以在窗口中改变它的值。
对于Xtra演员,rect 演员属性是一个矩形,它的左上角是(0,0)。
Director的Java播放器不支持rec演员属性。
该属性能被读取,只有field(域)演员的该属性可以被设置。
例如,以下显示第20个演员位图的位置:
put member(20).rect
又例如,以下语句设置位图演员Banner的该属性:
member("Banner").rect = rect(100, 150, 300, 400)
参考 rect(),rect (sprite)
(译者注:上边提到只对域演员可以设置,但例子中有对位图设置的,我尝试了一下,好象不可以)
rect (sprite)
语法:sprite whichSprite.rect
the rect of sprite whichSprite
描述:角色属性;指定图形化的角色(如位图、矢量图、电影或数字视频)在舞台上的的左、上、右和下边的位置。
该属性可以读取和设置。
例:以下语句显示通道20角色的位置:
put sprite(20).rect
rect (window)
语法: window whichWindow.rect
the rect of window whichWindow
描述:窗口属性,指定窗口的左、上、右、下边的位置,
如果窗口矩形的尺寸比舞台小,那么就不可以改变
对窗口进行缩放,设置drawRect 或sourceRect 属性
该属性可以读取,也可以设置。
例:以下语句显示窗口Control Panel:(控制面板)的位置:
put window("Control Panel").rect
参考:drawRect, sourceRect
编辑历史:[这消息被dexn编辑过(编辑时间2001-01-21 22:51:01)]