中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 网吧之家 桌面壁纸 科技商情  

 Lingo魔法书--事件和脚本类型
  机器猫

Lingo 语言基础

一、事件与命令

事件

  在上次的教程中,我们已经初步试验了Lingo的编写和运行.这次我们要对于Lingo的一些基础知识进行探讨.我们首先从一个最简单的脚本进行分析。还记得上次我们让电影停在某帧时候的脚本是如何的么?

On exitframe

 go the frame

end

  这里面就包含了一个Lingo的最基本的一点。Lingo是基于事件(event)的。当某个事件发生的时候,才会执行下面的动作。在上面这个脚本中 go the frame这句话是在 On exitframe(退出改帧)的时候执行的on exitframe就是一个事件,当这个播放头退出该帧事件发生了,才执行里面的语句,直到遇到end为止。同样,下面的一些都是Lingo的也就是事件。


On mousedown   --当鼠标按下

  Lingo语句

end


On startMovie --电影一开始

  Lingo语句

end


On enterFrame --当播放头进入一帧

  Lingo语句

end


On beginsprite  --第一次播放这个sprite的时候

  Lingo语句

end


On keydown  --当键盘按下键的时候

  Lingo语句

end

 什么时候采取什么样的事件呢?这是和脚本的类型有关的。别着急等会儿我们一个个来看。

命令:知道了什么是事件以后,就简单了。在事件当中的一些语句就是命令。比如go the frame这句就是一个命令。它的作用可以停止播放头。最后我们用一个形象的比喻来作为事件和命令的解释。

On 走进屋子

 喝水

end

发现了么?当走进屋子(事件)喝水(动作)

二、脚本类型

  Lingo的脚本类型分为frame脚本,sprite脚本, cast脚本和movie脚本。在这里我不想把脚本前面的关键字翻译成为中文因为这样可能容易引起歧义。区分这些脚本的类型的方法就是看这些脚本写在什么位置上。frame脚本写在帧里面。Sprite脚本写在Sprite上,Cast 脚本写在Cast上,而Movie脚本写在电影中不依靠任何的其他帧和角色。这样写看起来有点象废话。不过等下解释了大家就会明白的。

frame脚本

 写在帧中的脚本就是frame脚本。播放头在这帧中的时候就会执行frame脚本。编写frame脚本,只要双击帧脚本通道,系统就会弹出窗口。此时就可以编写frame脚本。

  我们上一个例子中用到的第一个脚本就是帧脚本。我们是在Score(分镜表)的脚本通道里面写的。我们当时需要把播放头停止在第5帧。这个动作要求在第5帧画面的时候执行。并且和别的sprite 或者Cast都没有关系。仅仅是在帧发生。于是我们采用在帧脚本。在帧脚本通道第5帧的地方双击。系统弹出窗口,默认的事件为on exitframe me 当帧退出的时候,我们执行下面的命令,停在原地。

  常用的frame脚本事件有。


on enterframe --当播放头进入该帧的时候

  lingo语言

end


on exitframe --当播放头移处该帧的时候

  lingo语言

end

Sprite脚本

  Sprite脚本应用于Sprite中。我们把Cast库中的演员拖到舞台之上以后就是Sprite了。在舞台上对准一个Sprite按右键在菜单中选择Script系统弹出对话框。这个脚本窗口里写的就是Sprite了。

  Sprite脚本在Sprite的一系列操作中才会有作用。比如,单击Sprite,双击sprite,鼠标在sprite上面,鼠标移出sprite。当我们想要对舞台上的某个东西操作,来发生动作的时候就可以用Sprite脚本了。上次的例子中我们要求按一个按钮跳转到第X帧。使用的就是Sprite脚本。那段代码就是

On mousedown

 go frame 15

end

当鼠标按下按钮这个Sprite的时候,播放头到第15帧去。

Sprite中常用的一些事件主要有

On mousedown (鼠标按下)On mousup(鼠标抬起)On mouseleave(鼠标离开) On mousewithin(鼠标在对象内)。

Cast脚本

  Cast脚本是写给Cast(演员)的。在角色库中可以编写。对准一个cast按右键盘,选择里面的Cast member Script,弹出窗口中编写的就是Cast脚本。当对某Cast进行一些操作的时候Cast脚本就开始发挥作用。Cast常用事件何Sprite基本相同。

读到这里读者稍微思考一下就会发现一个问题。好像Cast脚本和Sprite脚本差不多?

下面我们来回忆一下Cast和Sprite的关系。

  角色库中的叫做Cast,拖到舞台上就叫做Sprite。一个Cast可以对应多个Sprite.当我们对一个Cast编写了脚本之后,电影中所有相应的Sprite都具有了相同的脚本而无需再次编写.因为Sprite就是基于Cast而产生的.例如上面图中给Cast圆编写了脚本之后.舞台上三个Sprite都具有了相同的脚本.读者接下来就会有另外一个疑问当舞台上的Sprite也有了脚本同时Cast也有脚本的时候谁优先执行呢?答案是Sprite脚本优先执行.为了帮助大家想通.时刻记住Director是按照电影的观念来安排的.Cast就是演员,演员都有自己的个性.Sprite是演员扮演的人物,戏中的人物都是有戏中人物的个性的.当戏开演的时候谁的个性占上风呢?显然是戏中的人物个性占上风.

Movie脚本:

  Movie脚本不依赖任何一个Cast,sprite,frame.他可以独立在电影内存在.凡是在电影中全局性的.还有"经常性"的交互时间都在这里写的.还有电影一开始的时候和结束的时候发生的命令也要写在这个里面.

下面举出一些Movie脚本独有的一些事件.

On startmovie 电影开始的时候

On StopMovie. 电影结束的时候

On idle 系统空闲的时候没有任何脚本被执行的时候.

Movie脚本的编写 单击工具栏上的就可以了.


  5D多媒体提供 


 

更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱