主题:  Multimedia Builder脚本语言(四)

文羽

职务:普通成员
等级:1
金币:0.0
发贴:33
#12000/11/12 22:12:26
基本函数

典型的函数语法:

函数("参数1","参数2")

这个函数使用0、1或2个参数。参数在多数情况下可以用字符串变量代替,语法仍然一样: 函数("参数$","参数$")

Hide("OBJECT")

隐藏一个对象或对象组

Show("OBJECT")

显示一个对象或对象组。如果你要显示GIF动画,GIF将从第一祯开始。

Invert("OBJECT")

显示或隐藏一个对象或对象组。如果对象/对象组被显示,在这之前就是隐藏的。

例如:

Hide("Rectangle 1")
a$ = 'Text0'
Show("a$")

注意:多媒体建立者4.4允许你在另一个页上的一个页对象修改,包括控制页和控制页顶层

使用语法:

Hide("Page:bject")

例如隐藏首页上的Rectangle1对象,使用:Hide("Master Page::Rectangle1")

例如:

Hide("Master Page::Rectangle1")
Hide("Master Layer::Rectangle1")
Show("Page 1::Text")
VideoPlay("VIDEO OBJECT")
VideoStop("VIDEO OBJECT")

播放和停止视频(AVI)对象

RunMBD("PATH TO MBD","PAGE LABEL")

在同一个窗口运行另一个MBD设计项目。你可以指定新的设计项目开始的页-但不是必须的。

这对于创建大的应用程序是非常重要的命令。你可以把不同的数据块放入独立的MBD文件里,不是在页之间移动而是在文件之间移动。

这就允许你制作真正的大的多媒体,而不用考虑内存问题-旧式的项目是当新的一个被载入时,旧的就被从内存中删除。

同样,如果你使用全屏背景(触摸屏)-允许你跳转到另一个文件并从这儿载入背景,来改变背景位图。

不用忘了在路径中使用

Run("PATH","PARAMETERS")

运行外部程序。你能运行文件查看器、安装实用程序等等。

同样,你也能在不同的窗口里运行另一个MBD项目。甚至如果你创建独立文件(autorun.exe)-像一个参数一样用另一个MBD文件调用同一个文件。(\autorun.exe、\otherfile.mbd)。这样就在不同的窗口中打开了另一个项目。(用不同的尺寸和甚至)

FirstPage()
LastPage()
NextPage()
PrevPage()

Page("PAGE LABEL")

页的命令-在项目里跳到不同页。

在页的命令里你能指定LASTPAGE替换页名。这样在设计项目中就会跳到最后的查看页。

Exit()

立刻退出应用程序。

Minimize()

最小化应用程序。这是最小化按钮动作。

ExitTimer("MILLISEC")

多少毫秒之后退出应用程序。 要知道PageTimer将取消这个命令。同样点击在任何一个动作对象上都将取消这个命令-这是很重要的-你可以提供给用户一个返回按钮,而不是退出 。

用这个命令,你能等待声音播放,或让你的徽标显示一会儿等等。

PageTimer("MILLISEC","PAGE")

多少毫秒之后到一个页去。如果不指定页-就到下一页。你也能用命令替换页的标签:THIS_SCRIPT-将只运行同一页上的脚本。

THIS_PAGE -将再一次开始同一个页

不同的是-页开始时将所有的对象都放入默认的舞台,并且会看到一样的背景音乐-然后运行脚本。

要点:点击任何动作对象就取消这个命令!

使用另一个PageTimer或ExitTimer将取消前面的PageTimer。

用这个你可以做自己运行的简报-如果在一段时间里用户不点击任何对象,多媒体建立者将进入下一页。如果用户点击一些动作对象,PageTimer就被取消(用户想要停留在页上),如果你要像那样离开或在按钮上点击,重新开始PageTimer例如你可以制作一个艺术代表作选集演示,每项都在不同的页上,如果用户要停止演示,就按暂停按钮。

Displayvalue("TEXTOBJECT","VARIABLE")

在一些文本对象中显示一个变量的整数部分。这对计算器等是非常好的。

Message("ANYSTRING","VARIABLE")

大部分用于调试。你可以用一些变量的整数值做一个退出信息框。

Return()

从执行脚本返回。你可以把它用于IF - THEN语句。

AGifPlay("ANIGIF OBJECT")
AGifStop("ANIGIF OBJECT")
AGifReset("ANIGIF OBJECT")

GIF动画命令。play将从现在的祯开始播放动画,stop就停止动画。

reset就设置现在的祯到第一祯。动画如何动作依赖于GIF动画属性。

RunScript("OBJECT")

运行其它脚本对象。

你要建立一些各种通用的功能,最好是运行Script Object脚本。你能从任何对象上运行脚本-Mouse Up脚本就会运行。

你可以运行同样的脚本-建一个循环调用。除非你能确定你不使用循环。

ScriptTimer("OBJECT","MILISEC")

运行对象上的脚本或多少毫秒之后对象上的脚本。(参见RunScript)这对于在一段时间后隐藏一些信息框等是很好的。

MCICommand("MCI STRING")

MCI命令。

给一个设备发送一个字符串。这个字符串告述设备去做什么。

用这个命令可以控制播放MPEG、VCD、录音、播放动画等等设备。

你可以在字符串里使用

同样,使用带目录命令的去告述多媒体建立者窗口成为子目录窗口。

这是一个在MBD项目的(100,50,100,100)位置上播放MPG电影的小例子:

MCICommand("打开\sample.mpg别名为MPEG样式的子目录")
MCICommand("把MPEG放入100 50 200 200的窗口中")
MCICommand("窗口MPEG的状态为隐藏")
MCICommand("播放MPEG")

例如:打开和关闭光驱的门

MCICommand("设置光驱门打开")

MCICommand("设置光驱门关闭")

一些MCI命令函数可以返回一个值(例如在CD上的轨道号)

变量MCIResult会有一个结果数字。

例如:返回CD上的轨道数
MCICommand("光盘轨道数情况")
Displayvalue("Text","MCIResult")

例2“返回轨道1的长度(秒)
MCICommand(“光盘轨道1长度情况”"status cdaudio length track 1")
Displayvalue("Text_totalsec","MCIResult")

例3:返回CD音频的状态
MCICommand(“光盘模式情况”"status cdaudio mode")
if (MCIResult==-2) then
Show("Playing")
end
if (MCIResult==-1) then
Show("Stopped")
end

要完全理解和掌握语法,请查阅微软的文档。

这样就可以直接访问设备-如果你要试验的话,彻底地准备一下。

OpenFile(" filter", "default")

打开File Open对话框。选择的文件修改快捷方式和OpenFile$字符串变量的筛选。

例子:

MPEG文件(*.mpg)|*.mpg|All Files|*.*||

这样就在打开文件对话框建立了两个选项MPEG文件和所有的文件。

注意:“|”字符在条目之间,“||”在最后。

格式是:文字被显示在小的框中“|”连接扩展名“||”

其它的参数是缺省扩展名。例如 *.mpg

使用这个命令后,你可以使用甚至

例如:

OpenFile("Text Files (*.txt)|*.txt|All Files|*.*||","*.txt")

Message("你选择的文件是","OpenFile$")

LoadText("Paragraph","")

这个例子载入了一个文本文件,把它显示在段落文本中(带标签的段落),并显示一个带路径的信息对话框。

FileString("substring","variable")

打开文件以后搜索与第一个子字符串相匹配的字符串。

放入子字符串(例如): .wav

如果有一个子字符串 '.wav' ,变量(第二个参数)就变成1

OpenFile("All Files|*.*||","*.*")

FileString(".wav","result(结果)")

if (result(结果) = 1) then

WavePlay("")

end

安装字体

如果你使用了一些在用户的系统上可能没有的字体-它就会用其它字体来代替-不是你喜欢的效果。

使用InstallTTF你可以在用户的计算机上临时安装你的字体。退出应用程序之后,字体就被反安装了。例如:把你的funny.ttf字体放在发布的光盘上,在应用程序开始时调用:InstallFont("\funny.ttf")

FileExist("PATH TO FILE","VARIABLE")

如果外部文件存在就测试。如果“是”变量就取值 1 否则取值 0