你现在的位置:网站首页 > IT计算机 >>动画设计 >>平面学习技巧
用director控制动画gif
http://www.cem360.com  2006-8-15 6:04:53   www.knowsky.com  
 

  动画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。

 


服务承诺

技术有保障
你所提供的个人资料职教在线绝对保密,不对外泄漏;对学校报名信息保证信息的原始性。
信誉有保障
学校书面授权职教在线招生权利,保证学校的信誉,书面委托证书在网络上可以自主查询,保证学员利益。
服务更体贴
免费的服务让你感觉到更温馨、周到;快速的跟踪服务让你坐享其成。
质量经考验
因为学校问题导致你不能正常上课,职教在线承诺无条件第一时间帮助协调或退款。
专家帮策划
职教在线推出在线职业规划,帮助你在学习、择业和未来职业生涯规划上出谋划策,解决你的疑惑。