分享
 
 
 

用Director控制动画GIF

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

用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 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有