flashas编程实例.doc_第1页
flashas编程实例.doc_第2页
flashas编程实例.doc_第3页
flashas编程实例.doc_第4页
flashas编程实例.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 鼠标单击Var sp:Sprite=new Sprite();Sp.graphics.beginFill(0xff0000);Sp.graphics.drawRect(0,0,100,20);Sp.graphics.endFill();Addchild(sp);/创建按钮上的文本Var label:TextFied=new TextFied();Label.text=”单击按钮”;Sp.addChild(label);/创建单击事件处理函数Function click(event:MouseEvent):viod/单击后改变的文字内容label.text=”你单击了按钮“;/注册鼠标单击事件Sp.addEventListener(MouseEvent.CLICK,click);2鼠标双击事件Var sp:Sprite=new Sprite();Sp.graphics.beginFill(0xff0000);Sp.graphics.drawRect(0,0,100,20);Sp.graphics.endFill();Addchild(sp);/要执行双击事件,必须将其属性设置为trueSp.doubleClickEnabled=true;/创建按钮上文字Var label:TextFied=new TextFied();Label.text=”双击按钮”;Label.doubleClickEnabled=true;Sp.addChild(label);/创建双击事件处理函数Function dbclick(event:MouseEvent):ovidLabel.text=”你双击了按钮”;/注册双击事件侦听器Sp.addEventListener(MouseEvent.DOUBLE_CLICK,dbclick);3 拖动鼠标Var sp:Sprite=new Sprite();Sp.graphics.beginFill(0xff0000);Sp.graphics.drawRect(0,0,100,20);Sp.graphics.endFill();Addchild(sp);/设置圆形可以接受按钮事件Sp.buttonMode=true;/创建拖动函数Function press(evt:MouseEvent):void/执行拖动Evt.target.stratDrug();/创建停止拖动函数Function release(evt:MouseEvent):voidEvt.target.stopDrug();/注册鼠标按下事件Sp.addEventListener(MouseEvent.MOUSE_DOWN,press)/注册鼠标松开事件Sp.addEventListener(MouseEvent.MOUSE_UP,release);4自定义的鼠标样式Var cursor:Sprite=new Sprite();Cursor.graphics.lineStyle(1,0x00ff00,1);Cursor.graphics.moveTo(0,0);Cursor.graphics.lineTo(15,8);Cursor.graphics.lineTo(0,13);Cursor.graphics.linneTo(9,16);Cursor.graphics.lineTo(0,13);Cursor.graphics.lineTo(0,0);addChild(cursor);/以上创建鼠标样式Function move(evt:MouseEvent):void鼠标样式跟随Cursor.x=evt.stageX;Cursor.y=evt.stageY;Evt.updateAfterEvent();/创建move事件侦听函数Stage.addEventListener(MouseEvent.MOUSE_MOVE,move);/move.hide()函数控制鼠标隐藏Mouse.hide();4鼠标划过时产生变色效果Var sp:Sprite=new Sprite(0Sp.graphics.benginFill(0xff0000);Sp.graphics.drawCircle(100,100,40);Sp.graphics.endFill();addChild(sp);/创建与sp相关的colorTransform实例Var colorInfo:ColorTransform=sp.transform.colorTransform;/创建makeBlue事件侦听器Function makeBlue(event:MouseEvent):void/设置colorTransform对象的颜色colorInfo.color=0x003399;/将更改用于显示对象Event.target.transform.colorTransform=colorInfo;Function makeRed(event:MouseEvent):void/设置colorTransform对象的颜色ColorInfo.color=0xFF0000;/将更改应用于显示对象Event.target.transform.colorTransform=colorInfo;Sp.addEventListener(MouseEvent.ROLL_OVER,makeBlue)Sp.addChildEventListener(MouseEvent.ROLL_OUT,makeRed);/注册事件5 按键测试效果Var sp:Sprite=new Sprite(0Sp.graphics.benginFill(0xff0000);Sp.graphics.drawRect(0,0,100,20)Sp.graphics.endFill();addChild(sp);/创建显示文本对象Var label:TextField=new TextField();Label.text=” “;Sp.addChild(label);/按下键盘事件处理函数Function keydown(event:keyboardEvent):voidLabel.text=”你按下了键盘“;/松开 键盘事件处理函数Function keyup(event:keyboardEvent):voidLabel.text=”你松开了键盘“;/注册事件侦听Stage.addEventListener(keyboardEvent.KEY_DOWN,keydown);Stage.addEventListener(keyboardEvent.KEY_UP,keyup);6 键盘控制显示对象效果图Var box=new Sprite();addChild(box);box.graphics.benginFill(0xff0000);box.graphics.drawRect(0,0,40,40);box.graphics.endFill();box.x=stage.stageWidth/2;box.y=stage.stageHeight/2;/建立显示对象boxStage.addEventListener(keyboardEvent.KEY_DOWN,keyevt);/在舞台上注册键盘按下事件/建立事件侦听器Function keyevt(event:keyboardEvent):voidSwitch(event.keyCode)Case key.UP:Box.y-=10;break;Case key.DOWN:Box.y+=10;Break;Case key.LIFT:Box.x-=10;Break;Case key.RIGHT:Box.x+=10;Break;Default:Break;7 倒计时效果/创建一个文本框,用于显示时间Var label :TextField=new TextField();addChild(label);/以上建立一个文本框用于显示倒计时时刻Var myTimer:Timer=new Timer(1000,60);/以1秒为间隔,触法60次动作myTimer.addEventListener(TimerEvent.TIMER,timefun);/把timefun事件侦听器注册给TimerEvent.TIMER事件myTimer.start();/倒计时时间/显示当前时间Label.text=String(time)/创建事件侦听器Function timefun(the:TimerEvent):void/记录次数递减Time-=1;/显示次数Label.text=String(time);8上升水泡效果As文件PackageImport flash.dispplay.MoveClip;Import flash.events.*;/定义类Public class H2o extends MoveClip/初起速度 Var sppeedx:Number=0;Var speedy:Number=0;/构造函数Public function H2o()Speedx=.5*Math.random()-0.5;Speedy=5*Math.random();/注册事件侦听This.addEventListener(Event.ENTER_FRAME,Mot);/定义事件函数Function Mot(e:Event)/控制位置变化This.x+=speedx;This.y-=speedy;/运动出舞台之后初气话If(this.y00Init();/初化位置Function init()This.y=400;This.x=Math.random()*550;帧上脚本/自定义显示函数Function DisplayH2o()/使用循环载入多个显示对象For(var i:int=0;i100;i+)/载入对象Var h2o:H2o=new H2o();/加入舞台This.addChild(h2o);/控制初起位置和属性H2o.x=Math.random()*550;H2o.y=Math.random()*300+400;H2o.alpha=.2+Math.random()*.5;Var scale:Number=.3+Math.random();H20.scaleX=h2o.scaleY=scale;/执行函数DisplayH2o();8 动画控制效果图Packge com.lzxt.movieClipImport flash.display.*;Import flash.event.*;Public class Control extends MovieClipPublic function Control()Mymc.stop();/将 该函数注册为按钮 的侦听器Btn_play.addEventListener(MouseEvent.CLICK,playAnimation);Btn_stop.addEventListener(MouseEvent.CLICK,stopAnimation);Btn_next.addEventlistener(MouseEvent.CLICK,nextAnimation);Btn_prev.addEventListener(MouseEvent.CLICK,prevAnimation);Btn_every.addEventListener(MouseEvent.CLICK,everyAnimation);Btn_goto.addEventListener(MouseEvent.CLICK,gotoAnimation)/单击播放按钮时调用此函数。它会是动画进行播放Function playAnimation(event:MouseEvent):void/控制影片剪辑mymc播放Mymc.play();/此行代码移除倒放函数中的帧循环事件侦听Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);/单击停止按钮时Function stopAnimation(event:MouseEvent):voidMymc.stop();Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);Function nextAnimation(event:MouseEvent):voidMymc.nextFrame();Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);Function prevAnimation(event:MouseEvent):voidMymc.prevFrame();Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);Function everyAnimation(event:MouseEvent):voidMymc.addEventListener(Event.ENTER_FRAME,everyframe);Function gotoAnimation(event:MouseEvent):voidMymc.gotoAndStop();Mymc.addEventListener(Event.ENTER_FRAME,everyframe);/自定义倒放函数,执行倒放事件侦听调用Function everyframe(event:Event):void/若当前帧为第一帧,跳到最后一帧继续倒向播放If(mymc.currentFrame=1)Mymc.gotoAndStop(mymc.totalFrame)ElseMymc.prevFrame();直线运动效果图Package Import flash.display.Sprite;Import flash.events.Event;Public class MoveLine extends SpritePrivate var vx:Number=3;Private var vy=:Number=3;Private var ball:Sprite;Public function MoveLine()Ball=ball();Ball.x=20;Ball.y=20;Ball.addEventListener(Event.ENTER_FRAME,moveball);Private function Ball():SpriteVar sp:Sprite=new Sprite;Sp.graphics.benginFill(0xff0000);Sp.graphics.drawCircle(0,0,15);Sp.graphics.endFill();Return sp;Private function moveball(evt:Event):voidBall.x+=vx;Ball.y+=vy;45度脚运动效果图Package Import flash.display.Sprite;Import flash.events.Event;Public class MoveLine extends SpritePrivate var vx:Number=3;Private var vy=:Number=3;Private var ball:Sprite;Public function MoveLine()Ball=ball();Ball.x=20;Ball.y=20;Ball.addEventListener(Event.ENTER_FRAME,moveball);Private function Ball():SpriteVar sp:Sprite=new Sprite;Sp.graphics.benginFill(0xff0000);Sp.graphics.drawCircle(0,0,15);Sp.graphics.endFill();Return sp;Private function moveball(evt:Event):voidVar radius=angle*Math.PI/180;Var vx=v*Math.cos(radius);Var vy=v*Math.sin(radius);Ball.x+=vx;Ball.y+=vy;加速运动效果图Private function moveball(evt:Event):voidVar vx:Number=0;Var vy:Number=0;Vx+=vx;Vy+=vy;Ball.x+=vx;Ball.y+=vy;谈入谈出效果图PackageImport flash.dispplay.Sprite;Import flash.events.Event;Public Alpha extends spritePublic var a:Number=0.5;Private var ball:Sprite;Public function Alpha()Ball=Ball(0;addChild(ball);ball.x=250;ball.y=250;ball.alpha=0;ball.addEventListener(Event.ENTER_FRAME,moveball);Private function Ball()Var sp:Sprite=new Sprite;Sp.graphics.benginFill(0xff0000);Sp.graphics.drawCircle(0,0,15);Sp.graphics.endFill();Return sp;Public function moveball(evt:Event):voidBall.alpha+=a;If(ball.alpha0|Math.floor(ball.alpha)= =1)a=-a;百叶窗效果图Import fl.transtions.*;Import fl.transtions.easing.*;TranstionManager.start(mc,type:Blinds,direction:Transtion.OUT,duration:3,easing:None.easeNone,numstrips:10,diimension:0);谈入谈出效果图Import fl.transtions.*;Import fl.transtions.easing.*;TranstionManager.start(mc,type:Fade,direction:Transtion.IN,duration:30,easing:Strong .easeOut,);飞入效果图Import fl.transtions.*;Import fl.transtions.easing.*;TranstionManager.start(mc,type:Fly,direction:Transtion.IN,duration:30,easeing:Strong .easeOut,startpoint:9) 光圈效果图Import fl.transtions.*;Import fl.transtions.easing.*;TranstionManager.start(mc,type:Photo,direction:Transtion.IN,duration:3,easing:None.easeNone,); 像素溶解效果图Import fl.transtions.*;Import fl.transtions.easing.*;TranstionManager.start(mc,type:PixelDissolve,direction:Transtion.IN,duration:3,easing:Regular.easeIn,xSecttions:30,ySections:30); 随机运动小球实例PackageImport flash.display.Sprite;Import flash.events.Event;/定义类Public class RandBall extends Sprite/构造函数Public function RanBall()/使用循环创建30个运动小球For (var i:int=0;i30;i+)Var s:Sprite=Ball();addChild(s);/设置小球初始位置,Math.random()*520获取一个0520之间的数,定义为小球横坐标s.x= Math.random()*520;/设置小球初始位置,Math.random()*370获取一个0370之间的数,定义为小球纵坐标s.y= Math.random()*370;/设置小球初始旋转角度,Math.random()*360获取一个0360之间的数,定义为小球旋转角度s.rotation=Math.random()*360;/创建运动小球方法Private function Ball():Sprite/定义属性Var ball:Sprite;Var radians=0;Var speed=0;Var radius=5;/创建小球Ball=Circle();/0.01+0.5*Math.random()大小为大于0.01,小于0.51之间的数字,用于初始化小球转动速度Speed=0.01+0.5*Math.random();/2+6*Math.random()的大小为大于2,小于8的数,用于初始化小球旋转半径Radius=2+6*Math.random();/把旋转小球动作定义到ball对象上,事件为帧循环Ball.adddEventListener(Event.ENTER_FRAME,RotateCircle);/创建小球转动事件处理函数Function RotateCircle(e:Event)/半径改变Radians+=speed;/改变 小球位置,实现随机旋转Ball.x+=Math.round(radius*Math.cos(radians);Ball.y+=Math.round(radius*math.sin(radians);/改变小球的透明度Ball.alpha=Math.random()*0.5+0.5;Return ball;/创建一个圆作为一个小球Private function Circle():SpriteVar sp:Sprite=new Sprite();Sp.graphics.beginFill(0xffffff);Sp.graphics.drawCircle(0,0,10);Sp.grapics.endFill();Return sp;数字天地效果图Package/导入要使用的包Import flash.display.Sprite;Import flash.events.Event;Import flash.text.TextField;Import com.lzxt.MathR;Import com.lzxt.MathR;/定义 类Public class NumTD extends Sprite /构造函数Public function NumTD()/初始化Init();Public function init()/定义一个变量j,用于记录帧循环的次数Var j:int=0;/在舞台上注册帧循环事件处理函数Stage.addeventListener(Event.ENTER_FRAME,enterframe);/创建帧循环处理函数Function enterframe(evt:Event):void/i%3= =0条件控制3次循环执行一次创建代码If(j%3= =0)/创建运动显示对象Var move:Sprite=moveNum();addChild(moves);J+;/创建40个后,移除侦听If(j= =270)Stage.removeEventListener(Event.ENTER_FRAME,enterframe);Public function moveNm():void/创建显示对象Var s:Sprite =RandNum();/初始化显示对象位置s.x=200;s.y=250;/初始化显示对象透明度s.alpha=Math.random();/初始化显示对象缩放s.scaleX=s.scaleY=Math.random()*0.5+0.5;/显示对象上注册移动事件s.addEventListener(Event.ENTER_FRAME,moveZ);/i为一随机变量,初始化正弦函数的初始角度Var i=MathR.Random(360);/A为初始化随机量,提供正弦运动舞台的振幅Vae A=MathR.Random(50)+40;Function moveZ(evt:Event):void/显示对象竖直方向向上运动I+=5;S.y-=1;s.x=200+A*Math.sin(i);/超出场景以后,初始化位置If(s.y0)s.x=200;s.y=250;A=MathR.Random(50)+40;Return s;/创建随机变换的文本Public function RandNum():voidVar label :TextField=new TextField();Label.width=12;Label.textColor=0x0000ff;Label.addEventListener(Event.ENTER_FRAME,mNum);Function mNum(evt:Event):void/文本的内容不断使用MathR.Random(10);Var sp:Sprite=new Sprite();Sp.addChild(label);Return sp;3D文字旋转效果图PackageImport flash .display.Sprite ;Import flash.events.Event;Import flash.text.TextField;Import com.lzxt.MathD;/定义类Public class oval3D extends Sprite/定义属性Private var angle:Nunber=0;Private var Rx:Number =150;Private var Ry:Number =50;Private var speed :Number=3;/构造函数Public function oval3D()/初始化Init();/初始化舞台函数Public function init ()/使用循环读取数组中的文字For (var i:int=0;iarr.length;i+)/创建对象,文字依次为数组中的文字,初始的角度按文字数目平均分配360度Var s:Sprite =moveoval(_arri,i*360/_arr.lengtoh);s.x=0;/加入舞台addChild(s);/创建运动的文字效果Public function moveoval(_label:String,angle :Number=0):SpriteVar sp:Sprite=new Sprite();Var label :TextField=new TextField ();Label.text=_label;Label.width=20;Sp.addChild(label);addEventListener(Event.ENTER_FRAME,movetext);function movetext(evt:Event):void/利用两半径的不同,实现椭圆的 位置坐标Sp.x=250+Rx*MathD.cos(angle);Sp.y=200+Ry*MathD.sin(angle );Sp.alpha=MathD.cos(angle)*0.5;/角度变化Angle-=speed;Return sp;跟随鼠标运动爬虫实例PackageImport flash.events.MouseEvent;Import flash.display.MovieClip;Import com.lzxt.MathD;Public class MoveBug extends MovieClip/定义属性 Private var bug:MovieClip;Private var speed:Number=10;Private var angle:Number;/构造函数Public function MoveBug()Bug=new Bug();addChild(bug);bug.addEventListener(Event.ENTER_FRAME,moves);/帧循环事件处理函数Private function moves(evt:Event):voidVar dx=mouseX-bug.x;Var dy=mouseY-bug.y;/计算各分速度Var vx=speed*MathD.cos(angle);Var vy=speed*MathD.sin(angle);/爬虫旋转Bug.rotation=angle;/实现运动Bug.x+=vx;Bug.y+=vy;向量控制圆形 排布效果Package Import flash.display.Sprite;Import com.lzxt.V2D;/定义类Public class Vp extnds Sprite/构造函数Public function Vp()Init(16);/初始化舞台Private function init(num:int)/定义向量Var V:V2D=new V2D(0,150);/定义每次的旋转角度Var angle :Number=360/num;/创建显示对象容器Var sp:Sprite=new Sprite();Sp.x=275;Sp.y=200;addChild(水泡);/使用循环加入小球For (var i:int=0;inum;i+)Var ball:Sprite=Bal();Sp.addChild(ball);/确定小球位置Ball.x=v._x;Ball.y =v._y;/向量旋转v.rotate(angle);/构建小球对象Private function Ball():SpriteVar ball:Sprite=newSprite(0;Ball.graphics.beginFill(0xff00ff);Ball.graphics.drawCircle(0,0,15);Ball.graphics.endFill();Return ball;圆边缘碰撞实例 PackageImport flash.display.Sprite;Import flash.events.Event;Import com.lzxt.MathR;Import com.lzxt.v2D;/定义类Public class MoveBalls extends Sprite/构造函数Public function MoveBalls()/初始化函数Init();/构建初始化函数Private function init()/创建一个圆形区域,小球将在此区域运动Var sp:Sprite=new Sprite();addChlid(sp);/定义圆形区域位置与形状Sp.x=stage.stageWidth/2;Sp.y=stage.stage.Height/2; Sp.graphics.benginFill(0xffff99);Sp.graphics.drawCirlcle(0,0,150);Sp.graphics.endFill();/使用循环添加10个小球For(var i:int=0;i150)/设置移动向量位置为圆形半径V0.setlength(150);/改变小球位置Render(ball,v0);/速度方向V1.negate();/速度向量方向角度Var ang1:Number=v1.getangle();/移动向量方向角度Var ang2:Number=v0.getangle();/速度方向旋转量,ang1-ang2为速度方向和一动方向的夹角量,旋转夹角的两倍量,实现反射V1.rotate(2*(ang1-ang2);/改变小球位置的方法Function render(a:Sprite,V:V2D)a. x=v._x;a.y=v._y;/创建小球Private function Ball():SpriteVar ball:Sprite=new Sprite;Ball.graphics.bengiinFill(0xFF0000);Ball.graphics.drawCirclle(0,0,5);Ball.graphics.endFill();Return ball;鼠标任意绘制线条PackageImport flash.display.Sprite;Import flash.display.Shape;Import flash.events.MouseEvent;Public class RdrawLIne extends SpritePrivate var sp:Shape;Private var p:BooleanPublic function RdrawLine()Sp=new Shape();addChild(sp);stage.addEventLIstener(MouseEvent.MOUSE_DOWN,mousedown);stage.addEventListener(MouseEvent.MOUSE_MOVE,mousemove)stage.addEventListener(MouseEvent.MOUSE_UP,mouseup);Private function mousedown(evt:MouseEvent):voidSp.graphics.lineStyle(1,0xffff00);Sp.graphics.moveTo(mouseX,mouseY);P=true;Private function mousemove(evt:MouseE vent):viodIf(p)Sp.graphiics.lineTo(mouseX,mouseY);Evt.upateAfterEvent();Private function mouseup(evt:MouseEvent):voidP=false;限制文本输入PackageImport flash.display.Sprite;Import flash.text.TextField;Import flash.text.TextFieldType;Public class ResTrict eeextends SpritePublic var textfield:TextField;Public function ReasTrict()Textfield.text=”请输入密码”;Textfield.width=100;Textfield.x=50;Textfield.y=150;Textfield.selectable=true;addChild(textfield);var label:TextField=new TextField();/改变文本的类型为输入文本label.type=TextFieldType.INPUT;label.restrict=”09”;label.x=150;label.y=150;label.height=20;设置输入文本框label.border=true;label.borderColor=0x000000;addChild(label);密码输入PackageImport flash.display.Sprite;Import flash.text.TextField;Import flash.text.TextFieldType;Public class PassWord extends SpritePrivate var textfield:TextField;Public function PassWord()Textfield=new TextField();Textfield.text=”请输入密码”;Textfield.Width=100;Textfield.x=50;Textfield.y=150;Textfield.selectable=true;addChild(textfield);var label:TextField=new TextField();label.type=TextFieldType.INPUT;设置输入文本为密码文本Label.displayAspassword=true;Label.x=150;Label.y=150;Label.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论