最新文档as3范例word版本 33页.docx
- 文档编号:24117395
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:32
- 大小:20.82KB
最新文档as3范例word版本 33页.docx
《最新文档as3范例word版本 33页.docx》由会员分享,可在线阅读,更多相关《最新文档as3范例word版本 33页.docx(32页珍藏版)》请在冰豆网上搜索。
最新文档as3范例word版本33页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
as3范例
篇一:
as3.0范例100
要先导入
importfl.transitions.Tween;
//导入缓动类
importfl.transitions.TweenEvent;
//导入缓动事件
importfl.transitions.easing.Regular;
//导入缓动效果中有规律的
vararrTupian:
Array=[];
//存放图片的数组
vartweenscaleX:
Tween;
//用来控制图片宽高的缓动类
vartweenscaleY:
Tween;
vardatu:
MovieClip;
for(vari:
int=0;i<8;i++){
varxiaotu:
MovieClip=newPic();
//这里Pic是库中一个存放图片的类文件
addChild(xiaotu);
xiaotu.gotoAndStop(i+1);
xiaotu.width=120;
xiaotu.height=100;
xiaotu.x=xiaotu.width/2+i*(xiaotu.width+10);
xiaotu.y=420;
arrTupian.push(xiaotu);
xiaotu.addEventListener(Event.ENTER_FRAME,dongf);
//为每个小球添加移动帧频函数
}
functiondongf(e){
varmc:
MovieClip=e.target;
mc.x-=6;
if(mc.x<0-(xiaotu.width/2+10)){
//如果该图片出了场景则放在最后一张图片的位置
mc.x=xiaotu.width/2+7*(xiaotu.width+10);
}
mc.buttonMode=true;
mc.addEventListener(MouseEvent.MOUSE_OVER,overf);
//鼠标移过时候停止移动
mc.addEventListener(MouseEvent.MOUSE_OUT,outf);
//
}
functionoverf(e){
for(i=0;i //注意是点击一张图片应该让所有的图片都移除移动的侦听 arrTupian[i].removeEventListener(Event.ENTER_FRAME,dongf); arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER,overf);Flashas3.0小实例教程100例实例一利用缓动类实现图片滚动点击放大效果//缓动类不在flash包中在fl包中所以 //注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此函数 } //此时大图出现 datu=newPic(); datu.gotoAndStop(arrTupian.indexOf(e.target)+1); addChild(datu); datu.x=stage.stageWidth/2; datu.y=200; tweenscaleX=newTween(datu,"scaleX",Regular.easeOut,1,3,0.5,true); //参数从1倍扩大到3倍 tweenscaleY=newTween(datu,"scaleY",Regular.easeOut,1,3,0.5,true); //参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true表示为单位为妙false表示为帧} functionoutf(e){ e.target.removeEventListener(MouseEvent.MOUSE_OVER,overf); e.target.removeEventListener(MouseEvent.MOUSE_OVER,outf); tweenscaleX=newTween(datu,"scaleX",Regular.easeOut,3,1,0.5,true); //开始和结束的参数反过来则实现了缩小的效果 tweenscaleY=newTween(datu,"scaleY",Regular.easeOut,3,1,0.5,true); //tweenScaleX=newTween.yoyo()或者用这个方法,表示实现原来缓动的相反过程 //tweenScaleY=newTween.yoyo() tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf);} functionfishf(e){ removeChild(datu); datu=null; //注意从显示列表中清除后, //元件本身还有东西,因此还要把大图元件清空 for(i=0;i arrTupian[i].addEventListener(Event.ENTER_FRAME,dongf); } **************************************************************************************************************************实例二利用timer类实现图片的切换 场景中有一个pic图片多帧元件,currnum和totalnum两个动态文本speed输入文本,一个msg动态文本vartimer: Timer; speed.text="2"//播放的初始速度为1000毫秒 btn.addEventListener(MouseEvent.CLICK,f); functionf(e){ msg.text="" timer=newTimer(1000*Number(speed.text),pic.totalFrames); //计时器运行的时间单位都是毫秒,因此输入的速度都是秒应该再乘以1000.//输入的文本都是字符串因此要转化成数字 timer.start(); timer.addEventListener(TimerEvent.TIMER,timerf); timer.addEventListener(TimerEvent.TIMER_COMPLETE,comf) //添加一个播放完后的函数 } functiontimerf(e){ pic.gotoAndStop(timer.currentCount); //图片播放的张数及为计时器运行的当前次数 //例如运行一次既是第一张,两次则为第二张 currnum.text=String(timer.currentCount); totalnum.text=String(timer.repeatCount); //计时器总共运行的次数} functioncomf(e){ msg.text="图片已经播放完毕谢谢欣赏"//信息文本框的文本显示内容} varformat: TextFormat=newTextFormat("Impact",15,0xff00ff,true);vartxt: TextField=newTextField();addChildAt(txt,numChildren-1); txt.text="这里随便写些东西"; txt.wordWrap=true; txt.setTextFormat(format); txt.width=txt.textWidth; txt.height=txt.textHeight; txt.x=10,txt.y=33; *******************************************************************************************************************实例三点击小图看大图效果 vartargetArr: Array=[]; varpointArr: Array=[]; varpicArr: Array=[]; varindex: int; vartargetPoint=newPoint(275,200); for(vari: int=0;i<20;i++){ varpoint: Point=newPoint(); vartargetP: Point=newPoint(); //varC: Class=getDefinitionByName("cat"+i)asClass; /加载同路径文件夹中的名字为cat+i20张的图片 varbmd: BitmapData=newC(0,0); //库中一个图片类文件 varbmp: Bitmap=newBitmap(bmd); varmc: MovieClip=newMovieClip(); addChild(mc); mc.addChild(bmp); bmp.x=-bmp.width/2; bmp.y=-bmp.height/2; 篇二: Flash_as3.0小实例教程100例 实例一利用缓动类实现图片滚动点击放大效果//缓动类不在flash包中在fl包中所以要先导入 importfl.transitions.Tween;//导入缓动类 importfl.transitions.TweenEvent;//导入缓动事件 importfl.transitions.easing.Regular;//导入缓动效果中有规律的vararrTupian: Array=[];//存放图片的数组 vartweenscaleX: Tween;//用来控制图片宽高的缓动类 vartweenscaleY: Tween; vardatu: MovieClip; for(vari: int=0;i<8;i++){ varxiaotu: MovieClip=newPic();//这里Pic是库中一个存放图片的类文件addChild(xiaotu); xiaotu.gotoAndStop(i+1); xiaotu.width=120; xiaotu.height=100; xiaotu.x=xiaotu.width/2+i*(xiaotu.width+10); xiaotu.y=420; arrTupian.push(xiaotu); xiaotu.addEventListener(Event.ENTER_FRAME,dongf);//为每个小球添加移动帧频函数} functiondongf(e){ varmc: MovieClip=e.target; mc.x-=6; if(mc.x<0-(xiaotu.width/2+10)){//如果该图片出了场景则放在最后一张图片的位置 mc.x=xiaotu.width/2+7*(xiaotu.width+10); } mc.buttonMode=true; mc.addEventListener(MouseEvent.MOUSE_OVER,overf);///鼠标移过时候停止移动mc.addEventListener(MouseEvent.MOUSE_OUT,outf);// } functionoverf(e){ for(i=0;i //注意是点击一张图片应该让所有的图片都移除移动的侦听arrTupian[i].removeEventListener(Event.ENTER_FRAME,dongf);arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER,overf); //注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此函数 } //此时大图出现 datu=newPic(); datu.gotoAndStop(arrTupian.indexOf(e.target)+1); addChild(datu); datu.x=stage.stageWidth/2; datu.y=200; tweenscaleX=newTween(datu,"scaleX",Regular.easeOut,1,3,0.5,true);//参数从1倍扩大到3倍 tweenscaleY=newTween(datu,"scaleY",Regular.easeOut,1,3,0.5,true); //参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true表示为单位为妙false表示为帧 } functionoutf(e){ e.target.removeEventListener(MouseEvent.MOUSE_OVER,overf);e.target.removeEventListener(MouseEvent.MOUSE_OVER,outf); tweenscaleX=newTween(datu,"scaleX",Regular.easeOut,3,1,0.5,true);//开始和结束的参数反过来则实现了缩小的效果 tweenscaleY=newTween(datu,"scaleY",Regular.easeOut,3,1,0.5,true);//tweenScaleX=newTween.yoyo()或者用这个方法,表示实现原来缓动的相反过程//tweenScaleY=newTween.yoyo() tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf);} functionfishf(e){ removeChild(datu); datu=null;//注意从显示列表中清除后, //元件本身还有东西,因此还要把大图元件清空 for(i=0;i arrTupian[i].addEventListener(Event.ENTER_FRAME,dongf); } } 实例二利用timer类实现图片的切换 场景中有一个pic图片多帧元件,currnum和totalnum两个动态文本speed输入文本,一个msg动态文本 vartimer: Timer; speed.text="2"//播放的初始速度为1000毫秒 btn.addEventListener(MouseEvent.CLICK,f); functionf(e){ msg.text="" timer=newTimer(1000*Number(speed.text),pic.totalFrames); //计时器运行的时间单位都是毫秒,因此输入的速度都是秒应该再乘以1000.//输入的文本都是字符串因此要转化成数字 timer.start(); timer.addEventListener(TimerEvent.TIMER,timerf); timer.addEventListener(TimerEvent.TIMER_COMPLETE,comf)//添加一个播放完后的函数 } functiontimerf(e){ pic.gotoAndStop(timer.currentCount);//图片播放的张数及为计时器运行的当前次数 //例如运行一次既是第一张,两次则为第二张 currnum.text=String(timer.currentCount); totalnum.text=String(timer.repeatCount);//计时器总共运行的次数} functioncomf(e){ msg.text="图片已经播放完毕谢谢欣赏"//信息文本框的文本显示内容 } varformat: TextFormat=newTextFormat("Impact",15,0xff00ff,true);vartxt: TextField=newTextField(); addChildAt(txt,numChildren-1); txt.text="这里随便写些东西"; txt.wordWrap=true; txt.setTextFormat(format); txt.width=txt.textWidth; txt.height=txt.textHeight; txt.x=10,txt.y=33; 实例三点击小图看大图效果 vartargetArr: Array=[]; varpointArr: Array=[]; varpicArr: Array=[]; varindex: int; vartargetPoint=newPoint(275,200); for(vari: int=0;i<20;i++){ varpoint: Point=newPoint(); vartargetP: Point=newPoint(); //varC: Class=getDefinitionByName("cat"+i)asClass;/加载同路径文件夹中的名字为cat+i20张的图片 varbmd: BitmapData=newC(0,0);//库中一个图片类文件 varbmp: Bitmap=newBitmap(bmd); varmc: MovieClip=newMovieClip(); addChild(mc); mc.addChild(bmp); bmp.x=-bmp.width/2; bmp.y=-bmp.height/2; mc.scaleX=mc.scaleY=.4; i<6? (mc.x=2.5+mc.width/2+i*(mc.width+10),mc.y=mc.height/2): 0;//上面六个图片的位置,坐标为图片的中心 i>=6&&i<10? (mc.x=550-mc.width/2-2.5,mc.y=mc.height/2+mc.height+8+(i-6)*(mc.height+8)): 0;//右边四张图片的坐标 i>=10&&i<16? (mc.x=550-mc.width/2-2.5-(i-10)*(mc.width+10),mc.y=400-mc.height/2): 0;//下面六张图片坐标 i>=16&&i<20? (mc.x=mc.width/2+2.5,mc.y=400-mc.height/2-mc.height-8-(i-16)*(mc.height+8)): 0;//左边四张图片的坐标 point.x=targetP.x=mc.x,point.y=targetP.y=mc.y;//记录此时每张图片的位置mc.mouseChildren=false; mc.n=i;//定义mc的私有属性记录每张图片的索引值 picArr.push(mc);// targetArr.push(targetP); pointArr.push(point); } vartimer: Timer=newTimer(1000); timer.start(); timer.addEventListener(TimerEvent.TIMER,picMove); vark: int=0; functionpicMove(e){//图片移动效果 k++; for(varj: int=0;j targetArr[j].x=pointArr[(k+j)%pointArr.length].x;//当前点的坐标随着k的增加等于目标点坐标循环变换 targetArr[j].y=pointArr[(k+j)%pointArr.length].y; if(picArr[j].x==275&&picArr[j].y==200){//说明是中心位置的图片continue; }else{//说明是周围的图片 picArr[j].x=pointArr[(k+j)%pointArr.length].x;//让每张图片的坐标循环变换picArr[j].y=pointArr[(k+j)%pointArr.length].y; } } } for(i=0;i picArr[i].buttonMode=true; picArr[i].addEventListener(MouseEvent.CLICK,clickF); } functionclickF(e){ setChildIndex(e.target,numChildren-2);//先把当前被点击的图片放在第二层objMove(e.target,targetPoint,1,1); if(picArr[index].x==275,picArr[index].y==200){ objMove(picArr[index],targetArr[index],.15,.15); } index=e.target.n; } function objMove(displayObject: DisplayObject,targetObj: Point,targetScalex: Number,targetScaley: Number){ ///**/参数分别是当前对象,当前点,x方向的缩放值,y方向上的缩放值timer.stop();//先让计时器停止,即点击图片动画过程中让图片移动的事件停止displayObject.addEventListener(Event.ENTER_FRAME,frame);functionframe(e){ for(vari: int=0;i picArr[i].mouseEnabled=false; picArr[i].buttonMode=false; picArr[i].removeEventListener(MouseEvent.CLICK,clickF);//点击每张图片后马上先移除点击事件 } e.target.x+=(targetObj.x-e.target.x)/5;//缓动公式实现缓动效果e.target.y+=(targetObj.y-e.target.y)/5; e.target.scaleX+=(targetScalex-e.target.scaleX)/5; e.target.scaleY+=(targetScaley-e.target.scaleY)/5; var dis: Number=Math.sqrt((targetObj.x-e.target.x)*(targetObj.x-e.target.x)+(targetObj.y-e.target.y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新文档as3范例word版本 33页 最新 文档 as3 范例 word 版本 33