




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MultimediaBuilder脚本全攻略(一)脚本基础多媒体建立者中的脚本是许多用户没有注意到的东西。他们认为它太难了。我在这儿告述你,它不难。它能做到用户想要的许多复杂的东西,像点击按钮可以产生多个事件,只要很少简单的台词。 多媒体建立者的脚本语言是建立在四种主要基础上的:命令、变量、结构判断(在一个变量值的基础上做一些事情)和循环。也有一个第五部分,称作注释,但它们没有函数,它们只是起到使脚本更容易读的作用。 在我们真正开始做一些事情之前,学习一下注释。加注释只是简单地加一个星号(*)。有星号就会跳到下一行,否则行中的内容就会被多媒体建立者读取。 命令 脚本第二个最容易的元素是命令。命令是一个简单的指定的字,叫做关键字,后面括号(和引号)里的信息是用来完成特定功能的(信息部分被称作叫参数)。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 注意,对于A23和A4,我们使用了等式中的变量。数学功能是非常漂亮的,不久是取数字,还能使用数字变量。那为什么不能使用字符串。数学功能不能使用字母,因为你不能用字母做算数!这样数字变量就确保不是使用任何字符串。 另一个好的方面是你可以使用变量的值,你要把结果存储在等式部分中。你正好可以像上面那样做,在这儿有一个例子:A1=A1 + 1 因为多媒体建立者首先在等式中用它的值替换变量名,然后做等式。 变量的生命 如果有一个变量,要始终打开它吗?只在程序运行时打开。当程序关闭(选择或崩溃),程序就把变量从内存中全部删除。为什么变量不能晚点离开?因为程序使用RAM来存储变量。RAM只是临时存储器。这儿的地方是有限的,如果每个程序都把所有变量保存在那儿,不久你就没有任何内存来运行了。事实上,如果它只是在使用之间离开,当关机时,计算机从内存中清除一切。但你“能”在你的设计项目中的页之间访问一个变量。要知道,当你使用运行其它项目功能时(或RunMBD命令做同样的事情),将丢失所有前面的变量,除非你使用NEW_WINDOW参数。以后再使用变量,可以使用SaveVariable和LoadVariable命令去保存到登记库中(藏在其它课程中)。 好了,变量内容结束了,现在怎么样?什么也没做。事实上,除了离开了变量,你没有做其它任何事情。像前面约定的那样,当程序关闭时,它就把你的变量舍弃了。 Multimedia Builder脚本全攻略(二) 变量所有的变量都是全程变量它们对所有的页都有效。变量是浮点型(3.1415),而不是整数型(3)你不一定要定义变量 所有变量的缺省值都是0。例如:a = a + 1 也可参见字符串变量数组可以在数组中使用变量:例如:A = 0Ab+1 = Ab你不一定要声明数组,并且数组可以是负值 你可以使用基本运算 * / + - 等等逻辑运算 = |if - then语句if语句控制条件分支。如果表达式的值不是“0”,那么if语句的主体是可以执行的。关键字then是不要求的,它将由解释器插入。表达式可以使用任何组合:a=b; ab; a=b; a=b; ab你可以使用逻辑符号 & 和 | 或if (a=b & a4) then Show(text1) Show(Rect1) end 你可以把if语句嵌入另一个if语句中如果能够避免,就不这样做代码会很混乱。 要点在这儿没有其它命令,你必须用另一个if语句来替换。For next循环这是一个典型的基本语法例如:for c = 1 to 5 * 函数next c 循环可以向上或向下计算:for c = 5 to 1 * 函数next c 从循环中退出,你可以使用Return()命令(这将退出脚本)无限循环在特殊情况下(半并行处理)你也许想使用无限循环。语法:for c = 0 to infinity (无穷大). next c 对Multimedia Builder脚本全攻略(三)字符串变量基础字符串变量结尾有一个$符号:mystring$赋予变量一个字符串,使用:mystring$ = This is a text注意:我们用 “ ”而不用“ ”字符。放一个“ ”字符在“”后面(像Oscars)例如“mystring$ = This is Oscars project你可以使用“”在一个字符串结尾加斜杠path$ = c:mydir将被显示为 c:mydir字符串可以使用加法运算符(和你想要的一样):a$ = MMB mystring$ = a$ + is coolCHAR函数不能混合使用数字和字符串变量。我们使用CHAR功能把数字变量转换成字符串变量value = 2.45mystring$ = CHAR(value)VAL函数我们使用VAL功能把字符串变量转换成数字变量mystring$=1.222value = VAL(mystring$)在IF - END中的字符串命令我们对数字变量使用类似的语法:if (mystring$=yes).end或if (mystring$yes).end于这种情况的更多信息参见 半并行处理Multimedia Builder脚本全攻略(四)预定义函数常量和系统变量这是一些常量:TRUE 值是1FALSE 值是0ScreenWidth 返回显示屏幕的宽度ScreenHeight 返回显示屏幕的高度MXROW, MXCOL 对于矩阵对象,返回被点击的矩阵对象的位置参见矩阵MCIResult 从MCICommand功能返回结果。更多的参见基本函数CBK_Time 像CBK_Time对象一样,但这个变量返回以秒(整数)记的时间CBK_Total 像CBK_Total对象一样,但这个变量返回以秒(整数)记的总时间OpenFile$ 从脚本里使用一个打开文件命令后,这个字符串变量就会有一个被打开文件的路径随机函数RND(最大值)将在0最大值之间返回随机整数例如:A = RND(50)+1整数函数总是从表达式生成一个整数值a = INT(x/100)if (a=0) then.endABS函数返回表达式的绝对值a = ABS(x-100)鼠标函数MOUSEX( )MOUSEY( )返回鼠标光标的 x 和 y 的位置x = MOUSEX()对象函数OBJECTX( 对象标签) OBJECTY( 对象标签) 这些函数返回由标签指定对象的当前位置(左上角)。x = OBJECTX(Text1)ISVISIBLE(对象标志)这个返回1 如果对象不在这页上0 如果对象是隐藏的1 如果对象是可见的visible = ISVISIBLE(Text1)if (visible = 0) thenShow(Text1)endMultimedia Builder脚本全攻略(五) 基本函数典型的函数语法: 函数(参数1,参数2)这个函数使用0、1或2个参数。参数在多数情况下可以用字符串变量代替,语法仍然一样: 函数(参数$,参数$)Hide(OBJECT)隐藏一个对象或对象组Show(OBJECT)显示一个对象或对象组。如果你要显示GIF动画,GIF将从第一祯开始。Invert(OBJECT)显示或隐藏一个对象或对象组。如果对象/对象组被显示,在这之前就是隐藏的。例如:Hide(Rectangle 1)a$ = Text0Show(a$)注意:多媒体建立者4.4允许你在另一个页上的一个页对象修改,包括控制页和控制页顶层 使用语法:Hide(Page:Object)例如隐藏首页上的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) thenShow(Playing)endif (MCIResult=-1) thenShow(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 ,变量(第二个参数)就变成1OpenFile(All Files|*.*|,*.*)FileString(.wav,result(结果))if (result(结果) = 1) thenWavePlay()end安装字体如果你使用了一些在用户的系统上可能没有的字体它就会用其它字体来代替不是你喜欢的效果。使用InstallTTF你可以在用户的计算机上临时安装你的字体。退出应用程序之后,字体就被反安装了。例如:把你的funny.ttf字体放在发布的光盘上,在应用程序开始时调用:InstallFont(funny.ttf)FileExist(PATH TO FILE,VARIABLE)如果外部文件存在就测试。如果“是”变量就取值 1 否则取值 0Multimedia Builde
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件注册税务
- 不贪吃冷饮课件
- 公路安全生产培训
- 天使的身影课件
- 老师外出培训总结
- 计量综合知识培训
- 村庄写生创意课件
- 老年科医生核心能力培训大纲
- 幼儿手指操培训
- 联考书法考试题及答案
- 2025年度集中供暖项目暖气设施安装及售后服务合同
- 护士医护人员职业安全防护培训
- 2025年四川省建筑安全员A证模拟试题(及答案)
- 莲山教学课件下载
- 大学生创新创业基础课件 第7章 创业与创业历程
- 班主任育人故事经验分享陪伴每一名学生慢慢成长模板
- 2025至2030中国漂白粉行业发展研究与产业战略规划分析评估报告
- 2025福建漳州闽投华阳发电有限公司招聘52人考试参考题库附答案解析
- 2025年事业单位招聘考试卫生类护理学专业知识试卷(护理文书)
- GB/T 45859-2025耐磨铸铁分类
- 监狱警察心理健康讲座
评论
0/150
提交评论