欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

通过实例学习AS3.0——案例三

程序员文章站 2023-11-03 20:47:52
相关文章:通过实例学习flash AS3.0——案例二 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不... 08-10-06...
相关文章:通过实例学习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上了。
源文件下载