zoukankan      html  css  js  c++  java
  • Fuse Kit初级教程

    Fuse Kit初级教程

    个人认为Fuse工具包非常之有用,在做交互媒体时常常用到,但是网上的教程却太少,所以今天就写了一篇Fuse的初级教程!
    针对Flash 8.0 ActionScript2.0,如果是高版本的话,要在发布设置那里设置成ActionScript2.0.
    1.什么是Fuse Kit?
    简单来说,Fuse Kit就是一堆AS文件,可以帮助你利用ActionScript来实现逼真的缓动效果,可以用来动态地添加滤镜效果,还可以生成一些基于时间的事件。

    2.如何得到Fuse Kit?
    Fuse 工具包可以在下面的网址免费下载。目前最新版本为Fuse Kit 2.1
    http://www.mosessupposes.com/Fuse/index.html#download

    3.如何使用Fuse Kit?
    将下载的文件解压缩,会有一个com文件夹,那个就是你所需要的了。
    在com/mosesSupposes/fuse文件夹一共有9个AS文件,分别是CustomEasing.as、Fuse.as、FuseFMP.as、FuseItem.as、FuseKitCommon、PennerEasing、Shortcuts.as、ZigoEngine.as、ZManager.as。
    使用方法:
    (1)假设你的com文件夹放在如下位置:E:/FlashLibs,打开Flash 8.0 ,编辑〉首选参数〉ActionScript〉ActionScript2.0设置,然后点击〉添加路径〉输入“E:/FlashLibs”〉确定〉确定……  
    (2)每次利用Fuse Kit制作Flash时,都要确保你的*.fla和com文件夹处于同级目录下
    备注建议还是使用第一种方法,这样每次你使用Fuse Kit时都避免了拷贝com文件夹的麻烦。
    接下来我们就可以利用Fuse Kit制作第一个缓动效果了!
    新建一个Flash文档,导入一张图片,并转化为MovieClip,在属性面板中命名clip1,打开动作面板,输入如下语句:
    import com.mosesSupposes.fuse.*;
    ZigoEngine.simpleSetup(Shortcuts, PennerEasing);
    clip1.rotateTo("-90",1,easeOutExpo);
    发布,哈哈~~~看到动画效果了吧。

    4.Fuse Kit是如何工作的?
    现在就以上面的简单实例进行说明
    (1)import com.mosesSupposes.fuse.*;
    使用通配符语法导入整个fuse包的类文件

    (2)ZigoEngine.simpleSetup(Shortcuts, PennerEasing);
    利用Fuse Kit中的ZigoEngine类自带的simpleSetup方法来为MovieClip、Buttons、TextFields添加方法,例如rotateTo。而那个PennerEasing就是由大名鼎鼎的Robert Penner开发的缓动公式啦。

    (3)clip1.rotateTo("-90",1,easeOutExpo);
    让clip1在1秒钟的时间内,逆时针旋转90度,缓动公式为easeOutExpo。

    1)当缓动公式不同时,效果也是不一样的。在这里列出几种常用的缓动公式,可以自行替换一下看看效果。
    easeInExpo、easeOutExpo、easeInOutExpo、easeOutInExpo
    easeInBack、easeOutBack、easeInOutBack、easeOutInBack
    easeInQuint、easeOutQuint、easeInOutQuint、easeOutInQuint
    ……
    Linear,这个重点强调一下,就是匀速运动没有加速度了!

    2)整个运动的时间是以秒为单位的。

    3)注意角度参数有两种写法:-90或者"-90",有什么区别的,就是一个是绝对角度,一个是相对角度。如果想让clip1在原来的基础上再旋转90度,就写"-90";如果想让clip1就旋转到90度,那么就写90。

    4)当然除了这些,还可以添加其他参数。比如想让这个动画延时2秒再进行,或者动画停止后通知我,怎么办??
    clip1.rotateTo("-90",1,easeOutExpo,2,mss);
    function mss(){
        trace(“End”);
    }
    这样试试看?
    target.rotateTo (rotation:Object, seconds:Number, ease:Object, delay:Number, callback:Object)
    这其实就是通常的写法了。

    5)那么除了rotateTo方法外还有什么呢?现在我就给大家列出并简单说明一下,还是建议大家亲自去尝试一下。
    target.alphaTo (alpha:Object, seconds:Number, ease:Object, delay:Number, callback:Object)
    透明度变化
    target.scaleTo (scale:Object, seconds:Number, ease:Object, delay:Number, callback:Object)
    等比缩放(_xscale = _yscale)
    target.sizeTo (size:Object, seconds:Number, ease:Object, delay:Number, callback:Object)
    调整大小(_width = _height)
    target.slideTo (x:Object, y:Object, seconds:Number, ease:Object, delay:Number, callback:Object)
    移动,如果只是沿着x轴移动,y就可以赋值为"0"或者null,为什么是"0"而不是0呢,大家自己试试吧(其实我上面已经说明过了,呵呵)。

    6)如果想为clip1同时添加多个动画效果怎么办呢?有两种方法:
    一种是把你想要的效果都写上,例如:
    clip1.rotateTo("-90",1,easeOutExpo);
    clip1.scaleTo(50,1,easeOutExpo);
    第二种就是利用tween方法,例如:
    clip1.tween("_rotation,_xscale,_yscale",["-90",50,50],1,easeOutExpo);
    下面是tween方法的使用方法,props为属性,多个时用””列出,endVals一定要和props对应好,多个时用[]列出。
    target.tween (props:Object, endVals:Object, seconds:Number, ease:Object, delay:Number, callback:Object)

    7)上面介绍了tween方法,那么为什么要有这个方法呢,难道只是因为在做多个效果时写法上的简化吗?当然不是,tween还有别的用途。例如,想点击pause按钮之后就让整个变化过程暂时停止,点击play按钮时再让变化过程继续,怎么办呢?!
    这时就可以用pauseTween和resumeTween方法了,例如:
    clip1.tween("_rotation,_xscale,_yscale",["-90",50,50],1,easeOutExpo);
    pause_btn.onRelease = function(){
    clip1.pauseTween();
    }
    play_btn.onRelease = function(){
    clip1.resumeTween();
    }

    以上就是Fuse 工具包的初级使用方法了,当然这些功能只是其中的很小一部分。
    那如何动态地添加滤镜,能否调整图像的亮度,对比度呢?
  • 相关阅读:
    google 地图 v2
    javascript 跨域名 异常:
    cvs 使用规范
    fastcgi apache fcgi
    玄幻系列
    必须掌握的命令行(转)
    浏览器,RIA,flash,flex,siliverlight,socket
    游戏外挂的一些原理
    shtml我几乎要忘了的东西
    北京下雨了,兴奋中
  • 原文地址:https://www.cnblogs.com/netlove/p/1774171.html
Copyright © 2011-2022 走看看