首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> 其它编程 -> 【Director教程】图片缩放
【Director教程】图片缩放


文章类别:其它编程 来源: 作者: 发表日期:2006-4-10 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

(只是想为多媒体在国内的发展尽一份力。以下是翻译director online 上的一篇关于图片缩放的文章,觉得简单有用,所以给大家共享。动机单纯。-------alalala)

  
  提问:
  我希望能将一张位图从640到800做一个平滑的变化。我试着让它在1到50帧变化,别的都还行,只是不够平滑。请告诉我秘诀。

  回答:
  如果你确实希望让图片平滑的移动,大部分情况下最好的解决方法是用lingo代替在通道中的关键帧动画。最大的理由便是lingo允许你调整动画而不用增加和删除关键帧。

  创建你的让图片变大的行为,第一步是初始化几个会决定图片显示的变量。


on beginsprite me

pzoomsteps=200
plargerect=(0,0,400,300)
psmallrect=(0,0,200,150)

end

  当你的精灵开始的时候,它将初始化三个变量。第一个,pzoomsteps,将决定间隔的量。间隔越长,动画越平滑,同时动画时间也越长。你需要试验几次以找到适合你电影的值。另外的两个值是你图片的两个不同尺寸。

  一旦你已经初始化了你的变量,接着你需要另一个程序来开始这个动画。这个程序可是被另一个按钮激发,或是帧语言,甚至是点击这个图片。


on startgrow me

pzoomcounter=0
tiemout(\"growimage\").new(40,#growimage,me)

end

  当startgrow命令执行的时候,它将把pzoomcounter设为0,并且创建一个新的timeout对象。这个新的timeout对象叫做growimage,从现在起它将每40毫秒执行一次growimage命令(或每秒25次)。growimage的命令看上去象这样:


on growimage me

pzoomcounter=pzoomcounter+1

temprect=(plargerect-psmallrect)
temppercent=float(pzoomcounter)/float(pzoomsteps)
temprect=(temprect*temppercent)+psmallrect

if pzoomcounter>=pzoomsteps then
timeout(\"growimage\").forger()
end if

end

  growimage命令从增加pzoomcounter1开始。它计算出来大尺寸和小尺寸的差,并将其存在一个变量里。接着用pzoomcounter变量和pzoomsteps变量计算当前的变化百分比。然后用这个百分比乘上以前计算出来的大图和小图的差。最后用这个值加上小图的rect,并把这个值赋予精灵。最终检查一下是否pzoomcounter等于或大于pzoomsteps,如果是的话便取消timeout对象,这样growimage命令也结束了。

  如果你想将这个命令返过来用,那么命令大部分是相同的。(省略了几句)


on startshrink me
pzoomcounter=pzoomsteps
timeout(\"shrinkimage\").new(40,#shrinkimage,me)

end

on shrinkimage me

pzoomcounter=pzoomcounter-1
temprect=(plargerect-psmallrect)
temppercent=float(pzoomcouner)/float(pzoomsteps)
temprect=(temprect*temppercent)+psmallrect
sprite(me.spritenum).rect=temprect
if pzoomcounter<=0 then
timeout(\"shrinkimage\").forger()
end if

end

上一篇:【Director教程】locz的使用 下一篇:【Director教程】制作控制精灵的blend行为
本栏目热门文章
·Discuz!论坛安装步骤图文详解 2006-5-22
·X-Space详细图文安装及常见错误解决 2006-5-22
·得心应手 X-Space下的二级域名配置 2006-5-22
·Discuz! 4.1.0 IIS Rewrite设置方法 2006-5-22
·轻松简单 X-Spacee与Discuz!论坛整合详解 2006-5-22
·Perl文件及目录操作 2006-3-6
·Shell介绍 2006-3-6
·站长手记:Discuz!4.1多论坛数据合并实战 2006-5-22
·在Authorware中控制Flash动画 2006-4-10
·Perl简单模块指南 2006-3-6
新近更新文章
·X-Space最吸引网民的八大特色 2006-6-20
·手把手学习X-Space模块设置 打造个性个人门户网站 2006-6-15
·从动网DV7.1Access转换到Discuz4.1 2006-6-15
·Windows版本Discuz!—EasyDiscuz!安装介绍 2006-6-9
·Discuz! 4.10论坛“傻瓜式”安装教程 2006-6-4
·站长网友最满意的6大X-Space功能 2006-5-28
·X-Space技巧:如何在个人博客设置音乐播放 2006-5-28
·来!把我的Blog数据转移到X-Space里 2006-5-22
·X-Space详细图文安装及常见错误解决 2006-5-22
·得心应手 X-Space下的二级域名配置 2006-5-22
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: