当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 通过实例学习AS3.0:案例三

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

ActionScript 中的 通过实例学习AS3.0:案例三


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 47 ::
收藏到网摘: n/a

相关文章:通过实例学习flash AS3.0——案例二

首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。

水平有限,错误难免,欢迎大虾小虾,大鸟小鸟指正。

下面进入正题:

案例3:熟悉tween以及tweenEvent的运用

说明:点击标签载入特定的图片说明(其实是一个mc,只是坐标不同),同时还有渐隐渐现效果,没做loading,可能载入会有点慢。

演示
http://www.live-my-life-with-yuyi.com/as3_cases/dynamic_with_events/

代码

初始化,给一些变量赋值

import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var homeX:Number = -301;
var homeY:Number = 110;
var newsX:Number = -17;
var newsY:Number = -777;
var aboutX:Number = -1354;
var aboutY:Number = -445;
var xTween:Tween;
var yTween:Tween;
var inTween:Tween;
var outTween:Tween;

先是导入一些需要用到的类,然后定义几个坐标,这几个坐标都是一个大mc的不同位置。

然后是初始化tween类,并对tween类监听。

xTween = new Tween(main_mc,"x",Strong.easeInOut,main_mc.x,homeX,2,true);
yTween = new Tween(main_mc,"y",Strong.easeInOut,main_mc.y,homeY,2,true);
inTween = new Tween(main_mc.home_mc,"alpha",None.easeNone,0,1,.5,true);
outTween = new Tween(main_mc.home_mc,"alpha",None.easeNone,1,0,.5,true);
xTween.addEventListener(TweenEvent.MOTION_FINISH,fadeIn);
xTween.addEventListener(TweenEvent.MOTION_START,fadeOut);
home_btn.addEventListener(MouseEvent.CLICK, navigate);
news_btn.addEventListener(MouseEvent.CLICK, navigate);
about_btn.addEventListener(MouseEvent.CLICK, navigate);

实例化xTween,yTween后并不会马上就运行,如果在之后的代码发现了stop动作的话。这些参数跟AS2并没有多大差别。
xTween和yTween是实现mc的缓动效果,inTween和outTween是实现渐隐渐现效果的。
这里只监听xTween而没有监听yTween,因为这两个是同时进行的所以监听一个就行了。
最后是对3个按钮的click监听。

接下来就是最关键的上面提到的几个函数

function navigate(event:MouseEvent):void
{
    if(event.target == home_btn)
    {
        setTween(homeX,homeY,main_mc.home_mc);
    }
    else if(event.target == news_btn)
    {
        setTween(newsX,newsY,main_mc.news_mc);
    }
    else
    {
        setTween(aboutX,aboutY,main_mc.about_mc);
    }
}
function setTween(tweenX:Number,tweenY:Number,tweenMC:MovieClip):void
{
    xTween.begin = main_mc.x;
    yTween.begin = main_mc.y;
    xTween.finish = tweenX;
    yTween.finish = tweenY;
    tweenMC.alpha = 0;
    inTween.obj = tweenMC;
    xTween.start();
    yTween.start();
   
}
function fadeIn(event:TweenEvent):void
{
    inTween.start();
    outTween.obj = inTween.obj;
}
function fadeOut(event:TweenEvent):void
{
    outTween.start();
}

先来看看navigate函数,这是被3个按钮共同调用的函数,通过判断不同的target.name设置不同的setTween。
再来看看setTween,参数tweenX和tweenY是目标坐标,tweenMC是目标mc,通过设置begin,finish,obj参数来改变xTween和yTween的初始坐标,目标坐标,作用对象,最后调用start函数开始运动。

fadeIn函数的作用是使inTween开始,并且将inTween作用的对象赋予outTween,这样outTween被调用的时候就能作用在正确的mc上了。

源文件下载