[ 来源: | 作者: | 时间:2007-07-22 | 收藏 | 推荐 ] 【大 中 小】
动画 GIF 可以非常方便的用在你的 Director 作品中。它们很小,相对的比较容易建立,而且也可以用在 Web 页面里。所以如果你正在建立一个 Shockwave 短片并把它和 Web 页放在一起,那么你把动画 GIF 用到 Director 里,你就会发现它可以完成多么完美的场景。但是一旦你把动画 GIF 放进你的电影里,你可能会想到要增加一些控制方法以便于关闭它们。首先,你要从基础开始。 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
开始,停止和重复
这三个基本的 Lingo 命令是用来控制动画 GIF 的暂停,继续和重复的。当用这些命令的时候,你需要紧记的是:它们只能与一个 sprite 在关联中一起用。例如,你可以说:
sflj www.it55.com kg^&fgd
sprite (10).resume ()
或者 www.it55.com
sprite (10).pause () 免费资源www.it55.com
然而,在涉及到一个 cast 成员的时候,你不能用这些功能。所以如果你输入 member (‘‘animGIF‘‘).resume () , Director 会返回一个错误信息,里面会说在对象中没有找到处理者。 www.it55.com在线教程
在电影中使用暂停和继续的一个简单的方法就是建立一个行为,你要把它放进动画 GIF 中。这个行为可以使正在播放的 GIF 暂停,也可以使暂停的 GIF 开始播放。这个行为的原代码如下: www.it55.com在线教程
property pPlayState
免费资源www.it55.com
on beginSprite me
pPlayState = true
me.updateGIF ()
end http://www.it55.com/
on mouseUp me
pPlayState = not pPlayState
me.updateGIF ()
IT资讯之家 www.it55.com
end IT资讯之家 www.it55.com
on updateGIF me it55.com
if pPlayState then
sprite (me.spriteNum).resume ()
else
sprite (me.spriteNum).pause ()
end if
end
sflj www.it55.com kg^&fgd
这个行为开始于设置 pPlayState 变量为真,然后会呼叫 updateGIF 处理者。这个处理者就会检查 pPlayState 是否为真。如果为真,那么它就会播放动画 GIF ,否则它就会暂停动画 GIF 。最后,无论何时,只要你点击 GIF ,它都会固定 pPlayState 的值并且以呼叫 ipdateGIF 处理者来确定是播放还是暂停。 it55.com
控制动画 GIF 的速度
如果你想要控制一个动画 GIF 的速度,那么这里有两条 Lingo 语句你需要使用: playBackMode 和 fixedRate 。
PlayBackMode 语句有三个不同的选项来控制一个动画 GIF 如何播放。第一个选项, #normal ,用动画 GIF 本身的定时信息来确定帧的的播放时间。第二个选项, #lockStep ,像 Director 电影中的 Score 一样以同样的速度播放动画 GIF 的每一帧。这个选项用于确认动画与你电影中的基础帧动画同步。这个选项的基本意思就是说如果你的动画 GIF 有不同长度的帧,那么在播放时就会不同步,直到 playBackMode 被设置成 #normal 。 it55.com
playBackMode 的最后一个选项是 #fixed 。当你把一个动画 GIF 的 playbackMode 设置成 #fixed ,那么你就可以通过另一个叫 fixedRate 的 Lingo 特性来控制回放( playback )。 fixedRate 特性一个数字,它描述一个动画 GIF 的单独帧的速度。你必须记住当你设置 fixedRate 时,它的值必须是一个整数而且不能为 0— 它至少是 1 。如果你想停止动画 GIF ,你必须用暂停命令。 http://www.it55.com/
关于暂停,继续和重复还有 playBackMode 和 fixedRate 特性,它们最大的不同在于 playBackMode 和 fixedRate 是 cast 成员中的特性,而不是 sprite 。所以在你的代码中你必须写明: www.it55.com
member (‘‘animGIF‘‘).playBackMode = #fixed
member (‘‘animGIF‘‘).fixedRate = 20
But if you tried to say
www.it55.com在线教程
sprite (10).playBackMode = #fixed
vd;k;l www.it55.com rdfg
并且在 sprite 10 中的成员不是一个动画 GIF ,那么你将得到一个错误信息。
当你把所有的事情放在一起做时,你会吃惊于你可以如此控制一个动画 GIF 。这里有一个电影可以示范 action 中这里提到的 Lingo 。
在你的 Director 电影中使用动画 GIF 是减小文件大小的一个有效的方法,并且潜在的节约你大量的时间,因为你可以使 Director 中己存在的动画 GIF 得不到休息的时间。动画 GIF 的唯一的缺点就是你不能完全的控制它。你不能让一个动画 GIF 跳到一个特定的帧上,而且你不可能轻易的知道哪个帧是在动画 GIF 上的。如果你需要在你的程序中加入这种功能,那么你有两个选择。你将要用位图和电影遁环来重做 Director 里的动画 GIF 或者你在 Director 里可以以 Quicktime movie 的格式导入动画 GIF 。但是这个最后的选择要求用户的机子里安装了 Quicktime 。
免费资源www.it55.com
(编辑:IT资讯之家 www.it55.com)