您现在的位置: 圆点视线 >> 教程 >> 媒体动画 >> Director >> 文章正文
用Director控制动画GIF         ★★★
用Director控制动画GIF
作者:佚名  文章来源:圆点视线  点击数:  更新时间:2005-12-27 18:44:13 
 页面功能:【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口 【字体:
动画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。
 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 文章录入:apoints    责任编辑:apoints  【字体:
 
  • 上一篇文章:

  •  
  • 下一篇文章:
  • 最新文章
    相关文章
    Director怎样制作自定义光标
    director应用技巧
    flash和director之间的沟通技巧
    Director中控制声音音量的几种方法
    Director8行为库的应用
    用Director创建涂色板
    认识Director中的Xtra
    如何检测演员的载入进度
    对象列表的调用与删除
    用Lingo解决组合问题
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
     姓  名: 评 分: 1分 2分 3分 4分 5分
     评论内容: ·严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
    ·用户需对自己在使用本网服务过程中的行为承担法律责任
    ·本站管理员有权保留或删除评论内容。
    ·评论内容只代表机友个人观点,与本网站立场无关。
     
    最 新 推 荐
     
    百度主题推广
    最 新 热 门