Winddesign FIDS

Making money is art and working is art good business is the best art of all. I am a deeply superficial person. I broke something today, and I should break something once a week… to remind me how fragile life is. ---andy warhol

Sunday, August 13, 2006

Lingo 语言基础

Lingo 语言基础

二、脚本类型

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 脚本的编写 单击工具栏上的 就可以了 .

0 Comments:

Post a Comment

<< Home