director脚本和脚本动画_第1页
director脚本和脚本动画_第2页
director脚本和脚本动画_第3页
director脚本和脚本动画_第4页
director脚本和脚本动画_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社第7章 脚本和脚本动画脚本和脚本动画 重点内容: 脚本简介 创建与设置脚本窗口 创建各种类型的脚本 事件和处理程序 常用Lingo命令 变量 列表和数组第2页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社一、 脚本简介 1、脚本的基本功能 (1)可以制作交互的多媒体作品。 (2)可以对声音进行控制。 (3)可以对数字视频进行控制。 (4)可以对文本进行控制。 (5)可以对按钮的行为进行控制。 (6)可以对演员进行控制。 (7)可以对电影中画面的切换进行控制。

2、(8)可以扩充Director的功能。 (9)可以对3D动画语言进行控制。第3页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社一、 脚本简介 2、脚本的类型 在Director中,用户可以编写多种类型的脚本。通常所选择编写脚本的类型与存储脚本的位置,分配给脚本的对象(例如精灵或演员),脚本可以起作用的位置(例如在某一帧或在整部电影中)等几个因素相关。 通常可以编写的脚本类型大致可以分为【初级事件脚本】(通常称为初级事件处理程序),【剧本脚本】,【演员脚本】,【电影脚本】,【父脚本】几种类型。 第4页Director 11多媒体开发实用教程多媒体开发实用

3、教程 清华大学出版社清华大学出版社一、 脚本简介 3、脚本元素的查看与分类 Lingo或JavaScript处理程序中的命令是由一系列类似英文单词的元素组成的。通常,Lingo和JavaScript元素可以按照下面的方法进行分类。 (1)命令:命令可以告知Director电影所要处理的事情。 (2)函数:函数可以返回数值。例如,date函数的返回值为当前计算机系统中的日期。 (3)关键词:关键词是Lingo或JavaScript中具有特殊含义的词。 (4)属性:属性是与对象相对应的。 (5)操作符:操作符主要是用来对一个或多个数值进行更改或比较。 (6)常数:常数是永远不会改变的数值。 第5页

4、Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社二、 创建与设置脚本窗口 1、设置脚本窗口 执行【Edit】【Preferences】【Script】菜单命令,打开如左图所示的【Script Window Preferences】对话框。点击【Default Text】按钮,可以对【脚本】窗口中的【脚本字体】以及【背景颜色】进行设置。如右图所示的为使用了默认设置并含有自动上色脚本的【脚本】窗口。 第6页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社二、 创建与设置脚本窗口 2、创建各种类型的脚本 在Directo

5、r中,每一种类型脚本创建方法都有一定的差别。创建演员脚本的方法是:单击【Cast】演员表窗口工具栏中的【Cast Member Script】按钮,或单击鼠标右键在弹出的快捷菜单中选择【Cast Member Script】命令,如下图所示,编写脚本。 第7页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社二、 创建与设置脚本窗口 2、创建各种类型的脚本 创建精灵脚本的方法是:点击【Import】按钮将其素材导入到【Cast】演员表窗口中,并将它拖入到【Score】剧本窗口中。选中要为之创建精灵脚本的精灵。单击鼠标右键,从弹出的快捷菜单中选择【Scrip

6、t】命令,打开如下图所示的精灵脚本编写窗口。 第8页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社二、 创建与设置脚本窗口 2、创建各种类型的脚本 电影脚本是用来控制整部电影的脚本。电影在播放时,将首先执行电影脚本中的程序,电影脚本中的程序将影响电影播放的全过程。默认情况下,选择【Window】【Script】命令打开的【脚本】窗口标题栏中会显示有【Movie Script】,表示当前正在编写的脚本为电影脚本,如下图所示。 第9页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社三、 事件和处理程序 1、事件 因为

7、几乎所有的动作都将导致事件的发生,所以在电影中的任何一点用户都可以实现对事件的控制。在Director播放放映机、载入电影、播放电影甚至载入电影中某一帧的时候,用户可以对电影进行控制;在Director进入某一帧、退出某一帧、使用新精灵或停止使用新精灵的时候,用户也可以对电影进行控制;在鼠标指针进入舞台上某一区域、位于某一区域或离开某一区域的时候,用户也可以对电影进行控制。在任何事件发生的时候,Director都会发出消息,并提供使用Lingo或JavaScript来控制事件响应方式的机会。 Director中的事件大体上可以分为两种:一种是【内部事件】;一种是【自定义事件】。 第10页Dir

8、ector 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社三、 事件和处理程序 2、内部事件 内部事件主要是指Lingo和JavaScript中早就存在的事件,这类事件在使用时无需用户自己定义,直接使用即可。例如,常见的鼠标按下事件mouseDown就是Lingo和JavaScript脚本中早就存在的内部事件。 在Lingo中,内部事件在使用的时候都是以关键词on开头,后面依次是内部事件的名称、内部事件中的Lingo命令,最后以关键词end结尾;在JavaScript中,内部事件在使用的时候都是以关键词function开头,后面依次是内部事件的名称、中括号、内部事件中的

9、JavaScript命令,最后以中括号结尾。 第11页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社三、 事件和处理程序 3、自定义事件 自定义事件主要是指使用时需自定义的事件,与内部事件相比,自定义事件并没有任何特别之处,只要自定义事件的名称与系统内部事件、函数或命令的名称不同即可,其形式与内部事件基本相同。自定义事件的语法结构如下。 - Lingo syntax on customEvent statement(s) end / JavaScript syntax function customEvent() statement(s); 第12页D

10、irector 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社三、 事件和处理程序 4、处理程序 处理程序可以带有可选的自变量,也就是参数。参数就是在处理程序被调用的时候传递到处理程序中的附加值,它们可以为处理程序提供完成任务所需的附加信息。例如,下面给出的setStatus处理程序带有一个参数newStatus。setStatus自身并不知道如何改变status文本的内容,只有通过给newStatus参数赋值才可以改变status文本的内容。 每一个处理程序都有一个名称,使用这个名称可以对处理程序进行调用。在脚本中,处理程序名称的前面都带有关键词on。 第13页Dir

11、ector 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社四、 常用Lingo命令 在大多数情况下,Lingo和JavaScript主要用来实现播放电影时播放头在【Score】剧本窗口中的来回移动,也就是使用Lingo和JavaScript来实现电影的导航操作。通常,常用的Lingo或JavaScript导航命令可以分为两类,一类是go,一类是play。 在Director中,go类导航命令所包含的命令有很多,包括go、goLoop、goNext、goPrevious、goToFrame、goToNetMovie和goToNetPage等 。 play命令主要有两个,分

12、别为play和play done,它们的语法结构类似于go类命令。 第14页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社五、 变量 在大多数情况下,Lingo和JavaScript主要用来实现播放电影时播放头在剧本窗口中的来回移动,也就是使用Lingo和JavaScript来实现电影的导航操作。通常,常用的Lingo或JavaScript导航命令可以分为两类,一类是go,一类是play。 在Director中,变量可以比作容器,它可以装载不同的数值,例如名称或数字。在Lingo中,用户既可以使用set或put into命令来给变量分配数值,也可以使用

13、操作符【=】来给变量分配数值;在JavaScript中,用户只能使用操作符【=】来给变量赋值。 第15页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社五、 变量 1、变量的类型 Director中的变量类型可以分为多种,包括整型变量、浮点数变量、字符串变量等 。 (1)数字变量:它是使用脚本进行编程时使用最多的一种变量,包括整型变量和浮点型变量两种类型。 (2)符号变量:它是Director中一类特殊的变量,它是由符号【#】来引导的,即通过符号【#】来定义的。 (3)字符串变量:Director中的字符串变量是用来存储字符串的变量。 (4)逻辑常量:D

14、irector中经常用到的逻辑变量是TRUE和FALSE,即真和假,它们以常量的形式出现,对应的计算机数值是1和0。 (5)键盘常量:除了逻辑常量之外,Lingo中还经常用到的一些常量就是键盘常量,键盘常量主要是用来创建热键。 第16页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社五、 变量 2、局部变量 局部变量只有当定义该局部变量的处理程序正在运行的时候才是存在的。但是,在定义了局部变量之后,还可以使用脚本对这些局部变量的数值进行修改。如果希望某些局部变量只能在某些处理程序中起作用,可以在这些处理程序中将这些变量声明为局部变量。 在Lingo中,可

15、以使用等号【=】声明局部变量。如果在声明变量的时候,没有在其前面使用关键字global,则该变量将会自动以局部变量的形式创建。在JavaScript中,将关键词var加在变量名称的前面就可以将其声明为局部变量,然后使用等号【=】可以对其进行赋值。第17页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社五、 变量 3、全部变量 变量可以是局部变量,也可以是全局变量。局部变量只能在创建该局部变量的处理程序中使用。全局变量可以在声明全局变量的整部电影中使用。如果要使用全局变量,必须对全局变量进行声明。Lingo和JavaScript中全局变量的声明方法是不同的

16、。 在Lingo中,变量默认被看作是局部变量。如果要声明全局变量,可以在变量名称的前面加上关键词global。 第18页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社六、 列表和数组 1、线性列表 在Lingo和JavaScript中,用户都可以使用函数list()来创建线性列表。此外,在Lingo中,使用中括号也可以创建线性列表。无论是使用哪种方法创建线性列表,列表中的元素都要使用逗号分隔开来,列表中元素的索引数值都是从1开始。 例如,下面脚本命令创建的列表都是线性列表。 - Lingo syntax nameList = Joan, Leslie,

17、 Chae, Howard nameList = list(Joan, Leslie, Chae, Howard) / JavaScript syntax var nameList = list(Joan, Leslie, Chae, Howard); 第19页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社六、 列表和数组 2、属性列表 属性列表与线性列表类似,但是它们还具有一些附加的功能。使用属性列表可以为每一个列表元素定义属性。每一个属性都有一个名称,它定义了所存储信息的种类。 在Lingo和JavaScript中,用户都可以使用函数propLis

18、t()来创建属性列表,并且元素属性要使用双引号包围起来,元素与元素、元素属性与元素属性值之间都要使用逗号隔开。此外,在Lingo中,使用符号【:】也可以创建属性列表,但是,元素属性前面要添加符号【#】(或使用双引号将元素属性引起来),元素与元素之间要使用逗号隔开,元素属性与元素属性值之间要使用冒号(或逗号)隔开。第20页Director 11多媒体开发实用教程多媒体开发实用教程 清华大学出版社清华大学出版社六、 列表和数组 3、数组 JavaScript中的数组类似于线性列表。数组中的每一个元素都是一个独立的数值。JavaScript数组和线性列表的主要区别在于,数组中的元素索引数值永远是从0开始,而不是从1开始。在JavaScript中,可以创建数组的方法有两种:一种是使用方括号;一种使用Array()函数。 例如,下面脚本命令创建的数组是包含有两个元素的数组。 / JavaScript syntax var myArray = 10, 15; var my

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论