主题:  Multimedia Builder脚本基础

文羽

职务:普通成员
等级:1
金币:0.0
发贴:33
#12000/11/12 22:04:06
脚本基础

多媒体建立者中的脚本是许多用户没有注意到的东西。他们认为它太难了。我在这儿告述你,它不难。它能做到用户想要的许多复杂的东西,像点击按钮可以产生多个事件,只要很少简单的台词。


多媒体建立者的脚本语言是建立在四种主要基础上的:命令、变量、结构判断(在一个变量值的基础上做一些事情)和循环。也有一个第五部分,称作注释,但它们没有函数,它们只是起到使脚本更容易读的作用。


在我们真正开始做一些事情之前,学习一下注释。加注释只是简单地加一个星号(*)。有星号就会跳到下一行,否则行中的内容就会被多媒体建立者读取。


命令

脚本第二个最容易的元素是命令。命令是一个简单的指定的字,叫做关键字,后面括号(和引号)里的信息是用来完成特定功能的(信息部分被称作叫参数)。SysCommad除外,所有的命令只完成一个功能。一个命令看起来就象这样:
Keyword("Parameter")

(“关键字”当然不是一个真的命令,这只是一个例子。)


大多数命令需要至少一个参数。它们通常是像路径、一个页上的对象或变量。一些命令要求两个参数,每一个参数都用引号,并用逗号分开。所有的括号都把关键字和参数分开,括号里的参数用逗号分开。所以一个带多于一个参数的命令看起来就象这样:
Keyword("Parameter1","Parameter2")
一个命令是完成一个指定功能的脚本中的一行内容。它们是用命令和参数开始的关键字制作的。参数(或一个命令需要知道的信息部分)放在括号里,参数超过一个时用逗号分开。参数自身被放在引号中。同样有一些命令不需要任何参数,它们仍然要跟着一个括号,但括号里是空的(也就是Run( ))。


变量

变量是脚本的一个非常重要的元素。它允许你去做比只执行一个序列的命令更多的动作。变量可以想像成是一个可以保存值的盒子。值是像你大概理解的那样,是存储在变量中的信息。假设你要追踪一个按钮是否被点击的轨迹,你就会使用一个变量来告述你。


变量有两种,它们非常容易记住-数值型和字符串型。同样,你大概可以断定,数值变量只支持数字,字符串变量支持数字和其它字符两种,像一个文本文件。多媒体建立者能区分两个部分,字符串变量的名字必须有一个跟在它后面的美元符号($)。


等一下!你要问,变量的名字是什么?多媒体建立者简单记住每一个变量放到那儿。也许并不那么简单。这么说吧:如果说变量好比是一个盒子,那么名字好比是盒子的标签。如果有人告述你带着他们装着特定东西的盒子,如果盒子没有标签,你就不会知道盒子里装的是什么。这样,一个变量名允许多媒体建立者记住放在盒子里的值(信息)你能命名一个变量以任何你想要的名字,但它只能字母数字的字符(字母表中的字母和数字)和底线(_)。同样,像我在前面说的,如果你要变量是一个字符串,的话,它的名字后面必须有一个美元符号。


这样,你知道了什么是变量,但现在你要了解它们是如何使用的。它是相当容易的。当你要把一些东西放入到一个变量中,你所要作的一切就是用一个变量名来开始一个行,然后放一个等号,然后是值。(字符串值必须放在单引号中。)看起来就象这样:
**对于一个数字变量
MyVariable=10

**对于一个字符串变量
MyVariable$='My String'

(注意,我在每一行最后使用了注释。这样制作的脚本更容易理解。它们不是必须去设置一个变量。)


如果你想随后改变一个变量的值,输入一个新的值。你也能复制一个变量的值,把它的名字放入另一个变量值的位置上。像这样:
**对于一个数字变量
MyVar2=MyVal

**对于一个字符串变量
MyVar2$=MyVar$


数学功能

现在你可能觉得奇怪,两种不同的变量的好处。如果你可以简单地使用一个字符串去控制数字,为什么还需要数字变量呢?原因之一是数学功能。
格式几乎像幼儿园数学-基本的加法、减法、乘法 和除法。不同的是乘法用 * ,除法用 / 。这儿是一个如何使用数学功能的例子:
A1=10 + 2 **等于12

A2=A1 - 2 **等于10

A3=A2 * 2 **等于20

A4=A3 / 2 **等于10


注意,对于A23和A4,我们使用了等式中的变量。数学功能是非常漂亮的,不久是取数字,还能使用数字变量。那为什么不能使用字符串。数学功能不能使用字母,因为你不能用字母做算数!这样数字变量就确保不是使用任何字符串。


另一个好的方面是你可以使用变量的值,你要把结果存储在等式部分中。你正好可以像上面那样做,在这儿有一个例子:
A1=A1 + 1


因为多媒体建立者首先在等式中用它的值替换变量名,然后做等式。


变量的生命


如果有一个变量,要始终打开它吗?只在程序运行时打开。当程序关闭(选择或崩溃),程序就把变量从内存中全部删除。为什么变量不能晚点离开?因为程序使用RAM来存储变量。RAM只是临时存储器。这儿的地方是有限的,如果每个程序都把所有变量保存在那儿,不久你就没有任何内存来运行了。事实上,如果它只是在使用之间离开,当关机时,计算机从内存中清除一切。但你“能”在你的设计项目中的页之间访问一个变量。要知道,当你使用运行其它项目功能时(或RunMBD命令做同样的事情),将丢失所有前面的变量,除非你使用NEW_WINDOW参数。以后再使用变量,可以使用SaveVariable和LoadVariable命令去保存到登记库中(藏在其它课程中)。



好了,变量内容结束了,现在怎么样?什么也没做。事实上,除了离开了变量,你没有做其它任何事情。像前面约定的那样,当程序关闭时,它就把你的变量舍弃了。