NewsRhzhi | 先创资讯 | 旧版入口
rhzhi.net
网站首页 | NewsRhzhi | 先创资讯 | 操作系统 | 工具软件 | 办公软件 | 网站设计 | 组网专栏 | 平面设计 | 多 媒 体 | 程序开发 | 硬件资料 | 聊天软件
您现在的位置: 先创网 >> 媒体动画 >> Director >> 文章正文
用Director控制动画GIF
网络文摘
2005-10-16 11:37:38文/佚名
    

用Director控制动画GIF
  动画 GIF 可以非常方便的用在你的 Director 作品中。它们很小,相对的比较容易建立,而且也可以用在 Web 页面里。所以如果你正在建立一个 Shockwave 短片并把它和 Web 页放在一起,那么你把动画 GIF 用到 Director 里,你就会发现它可以完成多么完美的场景。但是一旦你把动画 GIF 放进你的电影里,你可能会想到要增加一些控制方法以便于关闭它们。首先,你要从基础开始。

开始,停止和重复

   这三个基本的 Lingo 命令是用来控制动画 GIF 的暂停,继续和重复的。当用这些命令的时候,你需要紧记的是:它们只能与一个 sprite 在关联中一起用。例如,你可以说:

sprite (10).resume ()

或者

sprite (10).pause ()

   然而,在涉及到一个 cast 成员的时候,你不能用这些功能。所以如果你输入 member (‘‘animGIF‘‘).resume () , Director 会返回一个错误信息,里面会说在对象中没有找到处理者。

   在电影中使用暂停和继续的一个简单的方法就是建立一个行为,你要把它放进动画 GIF 中。这个行为可以使正在播放的 GIF 暂停,也可以使暂停的 GIF 开始播放。这个行为的原代码如下:

property pPlayState

on beginSprite me

pPlayState = true
me.updateGIF ()

end

on mouseUp me

pPlayState = not pPlayState
me.updateGIF ()

end

on updateGIF me

if pPlayState then
sprite (me.spriteNum).resume ()
else
sprite (me.spriteNum).pause ()
end if

end

   这个行为开始于设置 pPlayState 变量为真,然后会呼叫 updateGIF 处理者。这个处理者就会检查 pPlayState 是否为真。如果为真,那么它就会播放动画 GIF ,否则它就会暂停动画 GIF 。最后,无论何时,只要你点击 GIF ,它都会固定 pPlayState 的值并且以呼叫 ipdateGIF 处理者来确定是播放还是暂停。

控制动画 GIF 的速度

   如果你想要控制一个动画 GIF 的速度,那么这里有两条 Lingo 语句你需要使用: playBackMode 和 fixedRate 。

PlayBackMode 语句有三个不同的选项来控制一个动画 GIF 如何播放。第一个选项, #normal ,用动画 GIF 本身的定时信息来确定帧的的播放时间。第二个选项, #lockStep ,像 Director 电影中的 Score 一样以同样的速度播放动画 GIF 的每一帧。这个选项用于确认动画与你电影中的基础帧动画同步。这个选项的基本意思就是说如果你的动画 GIF 有不同长度的帧,那么在播放时就会不同步,直到 playBackMode 被设置成 #normal 。

playBackMode 的最后一个选项是 #fixed 。当你把一个动画 GIF 的 playbackMode 设置成 #fixed ,那么你就可以通过另一个叫 fixedRate 的 Lingo 特性来控制回放( playback )。 fixedRate 特性一个数字,它描述一个动画 GIF 的单独帧的速度。你必须记住当你设置 fixedRate 时,它的值必须是一个整数而且不能为 0— 它至少是 1 。如果你想停止动画 GIF ,你必须用暂停命令。

   关于暂停,继续和重复还有 playBackMode 和 fixedRate 特性,它们最大的不同在于 playBackMode 和 fixedRate 是 cast 成员中的特性,而不是 sprite 。所以在你的代码中你必须写明:

member (‘‘animGIF‘‘).playBackMode = #fixed
member (‘‘animGIF‘‘).fixedRate = 20

But if you tried to say

sprite (10).playBackMode = #fixed

   并且在 sprite 10 中的成员不是一个动画 GIF ,那么你将得到一个错误信息。

   当你把所有的事情放在一起做时,你会吃惊于你可以如此控制一个动画 GIF 。这里有一个电影可以示范 action 中这里提到的 Lingo 。

   在你的 Director 电影中使用动画 GIF 是减小文件大小的一个有效的方法,并且潜在的节约你大量的时间,因为你可以使 Director 中己存在的动画 GIF 得不到休息的时间。动画 GIF 的唯一的缺点就是你不能完全的控制它。你不能让一个动画 GIF 跳到一个特定的帧上,而且你不可能轻易的知道哪个帧是在动画 GIF 上的。如果你需要在你的程序中加入这种功能,那么你有两个选择。你将要用位图和电影遁环来重做 Director 里的动画 GIF 或者你在 Director 里可以以 Quicktime movie 的格式导入动画 GIF 。但是这个最后的选择要求用户的机子里安装了 Quicktime 。

打印此页 投稿与建议 返回顶部
栏 目 索 引
软件应用 SOFTWARE
Win XP | NT/2003
Win2000 | DOS/Win9x
PowerPoint | Office
Excel | Word
网络软件 | 实用软件
媒体软件 | 系统软件
常用软件 | 办公软件
聊天软件 | 网络安全
新软试用 | Vista
设计在线 DESIGN
Dreamweaver | 3DMax
Photoshop | Flash
平面设计 | 网页设计
多 媒 体 | 精品画廊
精彩专区 SPECIAL
Q Q 专区 | 热门专题
组网玩网 | 程序开发
应用集锦 |

没有任何图片文章
相关文章
关于我们 - 联系方式 - 合作伙伴 - 网站大事记 - 网站地图 - 我要投稿
Copyright ©1997-2008 先创网 All Rights Reserved.
先创科技 版权所有