ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:46.92KB ,
资源ID:30509901      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30509901.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LINGO编程篇.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LINGO编程篇.docx

1、LINGO编程篇LINGO编程术语命令:当影片在播放的时候,告诉director要做的事情。例子: beep让director发出beep声音. go让director跳转到指定的帧或标记处.注释:对语句的功能作说明。注释时用双破折号(-)。在定义全局变量前写上注释说明以便清楚这个变量,这是个很好的编程方法。例子- hiScore 记录在游戏上最高得分global hiScore条件语句:允许你测试条件的对错并基于这些条件执行命令的语句。例子:if soundBusy(1) then go the frame如果条件成立就执行后面的语句常量:值保持不变量例子: FALSE, EMPTYmemb

2、er(1).text = empty” 将member(1)中的文字改成emptymember(1).text = EMPTY 清空member(1)中的文字信息事件:影片播放时在特定条件下发生.例子: exitFrame当播放头离开某一帧时 mouseUp当鼠标从按钮上弹起时表达式:由操作数和运算符组成.例子1 + 1.函数/方法:能够执行特定功能的语句块,通常由对象声明的。例子: the time返回当前的时间the name of member返回演员的名子 the key返回最后按下的按键.一个函数(或顶级函数)可以命令运行中的影片做一些事情,在函数名后面通常用括号结束。例子: 调用顶

3、级列表的语法list().处理程序: 作为一个将要执行的代码单元的lingo语句组合, 以on关键字开始, 当一个事件发生时,事件处理程序作为一个执行的代码单元。例子: on mouseUp onenterFrame关键字:lingo中的专有名词。例子: the, cast, field, end列表:一种特别的变量类型,可以由多种不同的数据类型的数据组合在一起。 有2种类型的列表:线性列表:是一系列的单值序列. 每一项是一个独立的数据单元,以逗号分开。e.g.value1, value2 , value3属性列表:每一项包含2个单元数据, 以 (:) 分隔一项中的2个单元数据,属性名:属性值

4、。e.g.Jack:95, Jill:50, Peter:65, Sarah:75循环语句:当给定的条件为真或给出指定的次数时,不断执行一段脚本。例子 1repeat while the mouseDown nothingend repeat例子2repeat with x = 1 to 10 sprite(x).visible = 1end repeat退出一个循环时使用: exit repeat.消息:一个事件发生时,消息也随之被director 抛出,消息和事件是同时发生的。例子, 当播放头进入某一帧时, enterFrame事件发生,同时director产生一个enterFrame消息

5、。 如果一个脚本包含on enterFrame处理程序, 处理程序中的语句将会执行, 因为处理程序接收了enterFrame消息。方法:当影片在播放时命令影片做一些事情或返回一个值,从一个对象处调用。 例子: sound(1).isBusy(), 是一个声音通道方法,用于判断声音通道1是否有声音在播放. 它类似一个函数,但总是从一个对象调用。面向过程的编程:一种以过程为中心的编程思想,就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现。面向对象的编程 (OOP):一种编程思想,将数据和程序(指令)组织到对象中,Lingo是一种OOP语言。对象:脚本单元,被设计成即可接收输入也可以

6、产生一个结果。每一个事件处理程序都是一个对象,因为它输出了(一个事件的消息)并且做了一些事情。操作符:一个字符或单词(操作符),作用于一个或多个元素(操作数). 可用于四则计算(+, - , /, *), 或者为变量赋值 (=, to, into) 或者用于比较(, =, )例子: x=10 put 10intox逻辑操作符: 连接两个布尔值并产生一个布尔类型的结果。一个布尔值可以是TRUE(=1) 或者是FALSE(=0)。 在Lingo中,正整数和负整数都是TRUE, 0 是FALSE。逻辑操作符包括AND, OR, NOT.链接操作符:用于连接字符串,包括: &,&.&用一个空格连接2个

7、字符串。例子: put dean & utian - dean utian参数:给出一个指令(函数的另一种写法)或函数执行的依据。形式参数与实际参数区分。用于添加处理程序或行为或函数的灵活性。例子: go whichframe 参数值传递给参数例子:on exitFrame mesprite(me.spriteNum).locH = the mouseH - 使精灵水平位置跟随鼠标的水平位置endme 是一个参数,当它和spriteNum放在一起的时候,得到使用此行为的精灵编号。当调用一个处理程序的时候,参数将被替换。例子on calcVolume value1, value2, value3

8、put value1 * value2 * value3end在消息窗口中输入如下类型的语句: calcVolume 2, 2, 3- 12属性:由对象定义。精灵,演员,甚至行为都有属性。也有顶级属性,不依赖于对象。例子,colorDepth是位图演员的属性,可以使用属性变量设置脚本中的属性。语句:可执行的单行Lingo内容.符号:在变量名前面加上#号,使用符号通常可以快速执行,提供更高效的代码。例子, userLevel = #beginner -运行速度快 userLevel = beginner符号不能包含空格或标点,使用symbol()方法,可以将字符串转换成符号, 使用string(

9、)方法,可以再次转换回字符串。例子x = symbol(beginner)put x- #novicex = string(#beginner)put x- beginner变量:存储数据的容器,变量存在于内存中,变量的命名规则只能是字母、数字或下划线的组合,不能以数字开头。变量的类型:整型integers: e.g.1, -5浮点型floats:带有小数点 e.g.1.5, -0.89字符串strings:加上引号的文本e.g.dean, Multimedia design符号symbols: e.g.#dean, #123布尔型boleans:e.g.TRUEorFALSE,1or0列表l

10、ists:一次存放多个数据单元,这些数据单元可以是整数,浮点数,字符串,符号,或一个列表. e.g.1, 2, 3, abc, 1.2, #name局部变量Local variables 保存的数据只能用于当前的处理程序.全局变量Global variables- 保存的数据可以用于声明(用关键字global 声明)的此变量的任何地方.属性变量Property variables- 保存的数据仅为特定对象使用,(用关键字property 声明)。为变量赋值:put value into variable set variable to value variable = value -现在多用这

11、种写法学习lingo编程市场上有许多书,声称可以在一天甚至几个小时内学会一门编程语言。在几小时或几天内学会lingo(或其他编程语言)的想法是有误导性和不切实际的,尤其是如果你没有任何其他编程语言的经验。电脑是非常愚蠢的,你告诉它们什么,它们就做什么。编程是与计算机沟通的一种方式。学习程序不仅限于学习编程语言的“单词”和“语法”,它涉及到学习的思维方式,这是非常不同的传统自然的思考,这必须通过大量的实践和经验才能获得。在这里我准备要做的是通过介绍两种编程方式带你进入编程世界。编程思想面向过程的编程: 写代码(指令集合)的一种方式,告诉计算机按部就班地做。例子:一个过程式的程序或许要求计算机读取

12、一个数字,再乘以6,接着显示结果,指令按他们给出的顺序被激活。BASIC, Pascal, C and FORTRAN这些编程语言都是面向过程的。过程式编程对小型项目有好处,这是以最自然的方式告诉计算机要做的事, CPU直接处理的语言-机器语言也是面向过程的。因此,将过程式的高级语言翻译成机器语言是简单高效的。面向对象的编程(OOP) ,这是另一种编程方式,程序中的代码被分解成独立的单元,每个单元执行单一的功能. 当需要这个函数时,应用程序通过发送一个流信息(称为消息) 调用这个对象。像C+ and Java,Lingo也是一种OOP语言。将代码分离成离散的单元使程序更容易组织,管理,重用和修

13、改同时也提高了编写代码的效率。Director中的编程语言随着Director MX 2004的发布,director现在支持Lingo和JavaScript Syntax. JavaScript 语言从业程序员较多,它更接近其他常见的编程语言。用Lingo 或 JavaScript 写程序的原则是相同的,选用哪一种编程语言取决于你对它的熟悉程度。建议选择lingo,原因是lingo更类似英语口语的写法,对非程序员更友好。口语式语法:set the text of member lecturer name to dean这个语句比较接近英语口语,我们也可以省略掉set, 同时将to 写成=,因

14、此就有了下面这种写法:thepropertyofobject=value the text of member “lecutureer name” = “dean”:点语法:member(Message).text = dean在点语法中,语句可以进一步简化为以下的形式:object.property=value.在Director MX 2004中, 帮助文档不再列出口语式语法,因此学习点语法是很有必要的。条件和条件语句在执行一组指令前判断某个条件是否成立通常是很有用的。术语TRUE或数字1表示条件成立,术语FALSE或数字0则表明条件不成立。例子:the soundEnabled-系统属性

15、(读写),决定影片声音是否在播放 (TRUE) or (FALSE).the mouseDown系统属性,表明当前鼠标是否正在被按下 (TRUE) or (FALSE).一些条件仅能读取(如the mouseDown), 另一写即可读也可写 (如the soundEnabled) ,可以使用not操作符反转条件。the soundEnabled = not (the soundEnabled)条件语句,允许你检查特定的条件然后执行某个动作,有两种方式可以测试条件:if.thenandcase.使用if. thenif条件(表达式)then执行(语句)单行语句if. then是最简单的条件语句形

16、式. 例子 1让精灵一直下落到某一个位置:if sprite(1).locV 180 then sprite(1).locV = sprite(1).locV - 10在向下或向下按钮上分别写上这2个语句,就可以控制精灵在限定的范围内移动了。例子 2if rollover(1) then member(Message).text = You have moved the mouse over sprite 1.也可以这样写:if rollover(1) = TRUE then member(Message).text = You have moved the mouse over sprite

17、 1.可以删除= TRUE例子 3if rollover(1) thenmember(Message).text = You have moved the mouse over sprite 1.elsemember(Message).text = The mouse is not over sprite 1.end if这个例子测试对于鼠标是否悬浮在某个精灵上(混合模式为matte时,作用区域为图像的有效区域)以此将不同的信息赋予member(Message).text。 使用多行if then语句时,要求在结尾处用end if语句结束。使用操作符and则要求多个条件表达式为真。使用操作符o

18、r 则要求某个表达式为真即可。if rollover(1) or rollover(2) thenmember(Message).text = You have moved the mouse wither over sprite 1 or over sprite 2.end if有时,也会用到if 嵌套,即在一个if 语句中存在另一个if语句。if 条件1 then if 条件2 then do something end ifend if对于上面这种情况,lingo 首先判断条件1,如果它成立,再判断条件2,如果条件2也成立,就会执行do something。 在这个 例子中, 我们也可以

19、用and操作符连接两个条件:if 条件1 and 条件2 then.然而,如果我们想要当某个条件成立时就做一些事情,这时可以使用if then else 语句,但这样显然写起来很麻烦,于是case 语句就出现了,它可以简化语句的结构。使用case语句case expression of value1 : statement value2 : statement otherwise:statement(s)end casecase语法使用多个分支逻辑结构,这比编写if.then语句更容易.例子case the rollover of 1: member(Message).text = You h

20、ave moved the mouse over sprite 1. 2: member(Message).text = You have moved the mouse over sprite 2. 3: member(Message).text = You have moved the mouse over sprite 3. otherwise:member(Message).text = The mouse is not over sprite 1, 2 or 3.end case上面这个例子测试鼠标是否略过精灵1,2,3,同时设置member message 的文本信息。上面的情况,

21、如果用if. then可以写成:if rollover(1) then member(Message).text = You have moved the mouse over sprite 1.else if rollover(2) then member(Message).text = You have moved the mouse over sprite 2.else if rollover(3) then member(Message).text = You have moved the mouse over sprite 3.else member(Message).text =

22、The mouse is not over sprite 1, 2 or 3.end if上面这种情况下,case 语句确实比if 语句好。循环语句循环的过程就是不断重复一段脚本或电影。当一个条件为真或是给定循环的次数,语句就可以被执行。条件成立时,指令就可以重复执行:repeat while condition statement(s)end repeat例子repeat while the mouseDown nothingend repeat当鼠标是按下状态时,上面语句的功能是什么事也不做。 使用end repeat结束循环语句。根据指定的次数重复一个动作:repeat with loc

23、alVariable = startValue to endValue statement(s)end repeat上面的语句表示,由变量localVariable 决定循环的次数,变量localVariable的值在初始值和结束值之间,每循环一次,初始值递增1。也可以让变量localVariable的值递减:repeat with localVariable = startValue down to endValue例子repeat with x = 6 to 10 sprite(x).visible = 1end repeat上面的例子设置了精灵6到精灵10的可见性,使用了局部变量x,语句

24、sprite(x).visible = 1 运行5次(从 6 到10) 每次使x的值递增1, 使用循环比下面的写法要容易:sprite(6).visible = 1sprite(7).visible = 1sprite(8).visible = 1sprite(9).visible = 1sprite(10).visible = 1退出循环:使用exit repeat命令,这个命令让程序跳出当前repeat语句。 跳过当前的循环执行下一次循环: 使用next repeat命令的例子:例子repeat with x = 6 to 10 if (x mod 2) = 1 then next rep

25、eat sprite(x).visible = 1end repeat上面的例子设置精灵6,8,10的可见性,当x为奇数时,语句sprite(x).visible = 1没有被执行,因为使用了next repeat语句。mod操作符表示取两个数的余数。局部变量、全局变量和属性变量变量即存储数据的容器,随着时间的推移这些数据通常变化(变化)。在director中按变量作用范围不同,有3种变量类型,分别是局部变量,全局变量,属性变量。变量的命名规则只能是字母、数字或下划线的组合,不能以数字开头。局部变量局部变量:只能在定义它们的处理程序内部使用例子 建立影片脚本:on setLocalVar lo

26、calVar =“I am a local variable”end在消息窗口中输入:setLocalVar这会执行setLocalVar 处理程序, 定义局部变量并给它赋值,继续在消息窗口中输入: put localVar输入结果是:- 原因是我们不能在处理程序外部使用局部变量。改写脚本如下:on setLocalVar localVar =“I am a local variable” put localVarend在消息窗口中输入:setLocalVar输入结果是:- “I am a local variable”原因是局部变量是从当前的处理程序中被访问,局部变量只在调用它所在的处理程序

27、时才会存在。全局变量全局变量可以在不同的处理程序或不同的脚本文件甚至不同的影片之间被访问。例子 建立影片脚本:global gGlobalVar- 在脚本开始处,我们使用global关键字声明变量为全局变量。- 根据命名习惯,在全局变量名前面加上gon setGlobalVar gGlobalVar = ”I am a global variable”endon getGlobalVar setGlobalVar put gGlobalVarend在消息窗口中输入: getGlobalVar输出结果是:- ”I am a global variable”全局变量的优点是可以在任何时间从影片的任

28、何位置访问到它们,全局变量声明后就存在于内存中,除非主动释放它们。属性变量属性变量用于行为脚本或父脚本中(不能用于影片脚本) ,用来存储针对它所赋予的特定对象的信息。例子 创建下面的行为property pPropertyVar- 类似于全局变量,我们声明变量的类型- 根据命名习惯,在属性变量名前面加上pon beginSprite pPropertyVar = “I am a property”end将上面的行为脚本加到精灵1上,然后播放影片,当影片播放时,在消息窗口中输入: put sprite(1).pPropertyVar输出结果:- “I am a property”属性变量储存在脚本或创建它的脚本实例中,scriptInstanceList是精灵的属性,包含加在此精灵上的所有脚本实例的列表。例子 2 在脚本中使用带有参数的属性编写下面的行为并将它加在精灵1和精灵2上property pPropertyVaron setProperty me, varDatapPropertyVar = varDataendon getProperty meput pPropertyVarend参数me在处理程序名后面,用来引用这个脚本附加到的特定的精灵,对于不同的精灵,变量pPropertyVar 可以包含不同的值。影片运行时,在消息窗口输入: setProper

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1