flash as编程实例.docx
《flash as编程实例.docx》由会员分享,可在线阅读,更多相关《flash as编程实例.docx(61页珍藏版)》请在冰豆网上搜索。
flashas编程实例
1鼠标单击
Varsp:
Sprite=newSprite();
Sp.graphics.beginFill(0xff0000);
Sp.graphics.drawRect(0,0,100,20);
Sp.graphics.endFill();
Addchild(sp);
//创建按钮上的文本
Varlabel:
TextFied=newTextFied();
Label.text=”单击按钮”;
Sp.addChild(label);
//创建单击事件处理函数
Functionclick(event:
MouseEvent):
viod{
//单击后改变的文字内容
label.text=”你单击了按钮“;
//注册鼠标单击事件
Sp.addEventListener(MouseEvent.CLICK,click);
2鼠标双击事件
Varsp:
Sprite=newSprite();
Sp.graphics.beginFill(0xff0000);
Sp.graphics.drawRect(0,0,100,20);
Sp.graphics.endFill();
Addchild(sp);
//要执行双击事件,必须将其属性设置为true
Sp.doubleClickEnabled=true;
//创建按钮上文字
Varlabel:
TextFied=newTextFied();
Label.text=”双击按钮”;
Label.doubleClickEnabled=true;
Sp.addChild(label);
//创建双击事件处理函数
Functiondbclick(event:
MouseEvent):
ovid{
Label.text=”你双击了按钮”;
}
//注册双击事件侦听器
Sp.addEventListener(MouseEvent.DOUBLE_CLICK,dbclick);
3拖动鼠标
Varsp:
Sprite=newSprite();
Sp.graphics.beginFill(0xff0000);
Sp.graphics.drawRect(0,0,100,20);
Sp.graphics.endFill();
Addchild(sp);
//设置圆形可以接受按钮事件
Sp.buttonMode=true;
//创建拖动函数
Functionpress(evt:
MouseEvent):
void{
//执行拖动
Evt.target.stratDrug();
//创建停止拖动函数
Functionrelease(evt:
MouseEvent):
void{
Evt.target.stopDrug();
//注册鼠标按下事件
Sp.addEventListener(MouseEvent.MOUSE_DOWN,press)
//注册鼠标松开事件
Sp.addEventListener(MouseEvent.MOUSE_UP,release);
4自定义的鼠标样式
Varcursor:
Sprite=newSprite();
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);
//以上创建鼠标样式
Functionmove(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鼠标划过时产生变色效果
Varsp:
Sprite=newSprite(0
Sp.graphics.benginFill(0xff0000);
Sp.graphics.drawCircle(100,100,40);
Sp.graphics.endFill();
addChild(sp);
//创建与sp相关的colorTransform实例
VarcolorInfo:
ColorTransform=sp.transform..colorTransform;
//创建makeBlue事件侦听器
FunctionmakeBlue(event:
MouseEvent):
void{
//设置colorTransform对象的颜色
colorInfo.color=0x003399;
//将更改用于显示对象
Event.target.transform.colorTransform=colorInfo;
}
FunctionmakeRed(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按键测试效果
Varsp:
Sprite=newSprite(0
Sp.graphics.benginFill(0xff0000);
Sp.graphics.drawRect(0,0,100,20)
Sp.graphics.endFill();
addChild(sp);
//创建显示文本对象
Varlabel:
TextField=newTextField();
Label.text=”“;
Sp.addChild(label);
//按下键盘事件处理函数
Functionkeydown(event:
keyboardEvent):
void{
Label.text=”你按下了键盘“;
}
//松开键盘事件处理函数
Functionkeyup(event:
keyboardEvent):
void{
Label.text=”你松开了键盘“;
}
//注册事件侦听
Stage.addEventListener(keyboardEvent.KEY_DOWN,keydown);
Stage.addEventListener(keyboardEvent.KEY_UP,keyup);
6键盘控制显示对象效果图
Varbox=newSprite();
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;
//建立显示对象box
Stage.addEventListener(keyboardEvent.KEY_DOWN,keyevt);
//在舞台上注册键盘按下事件
//建立事件侦听器
Functionkeyevt(event:
keyboardEvent):
void{
Switch(event.keyCode){
Casekey.UP:
Box.y-=10;break;
Casekey.DOWN:
Box.y+=10;
Break;
Casekey.LIFT:
Box.x-=10;
Break;
Casekey.RIGHT:
Box.x+=10;
Break;
Default:
Break;}
}
7倒计时效果
//创建一个文本框,用于显示时间
Varlabel:
TextField=newTextField();
addChild(label);
//以上建立一个文本框用于显示倒计时时刻
VarmyTimer:
Timer=newTimer(1000,60);
//以1秒为间隔,触法60次动作
myTimer.addEventListener(TimerEvent.TIMER,timefun);
//把timefun事件侦听器注册给TimerEvent.TIMER事件
myTimer.start();
//倒计时时间
//显示当前时间
Label.text=String(time)
//创建事件侦听器
Functiontimefun(the:
TimerEvent):
void{
//记录次数递减
Time-=1;
//显示次数
Label.text=String(time);
}
8上升水泡效果
As文件
Package{
Importflash.dispplay.MoveClip;
Importflash.events.*;
//定义类
PublicclassH2oextendsMoveClip{
//初起速度
Varsppeedx:
Number=0;
Varspeedy:
Number=0;
//构造函数
PublicfunctionH2o(){
Speedx=.5*Math.random()-0.5;
Speedy=5*Math.random();
//注册事件侦听
This.addEventListener(Event.ENTER_FRAME,Mot);
}
//定义事件函数
FunctionMot(e:
Event){
//控制位置变化
This.x+=speedx;
This.y-=speedy;
//运动出舞台之后初气话
If(this.y<00{
Init();
}
//初化位置
Functioninit(){
This.y=400;
This.x=Math.random()*550;}
}
}
帧上脚本
//自定义显示函数
FunctionDisplayH2o(){
//使用循环载入多个显示对象
For(vari:
int=0;i<100;i++){
//载入对象
Varh2o:
H2o=newH2o();
//加入舞台
This.addChild(h2o);
//控制初起位置和属性
H2o.x=Math.random()*550;
H2o.y=Math.random()*300+400;
H2o.alpha=.2+Math.random()*.5;
Varscale:
Number=.3+Math.random();
H20.scaleX=h2o.scaleY=scale;
}
}
//执行函数
DisplayH2o();
8动画控制效果图
Packgecom.lzxt.movieClip{
Importflash.display.*;
Importflash.event.*;
PublicclassControlextendsMovieClip{
PublicfunctionControl(){
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)
}
//单击播放按钮时调用此函数。
它会是动画进行播放
FunctionplayAnimation(event:
MouseEvent):
void{
//控制影片剪辑mymc播放
Mymc.play();
//此行代码移除倒放函数中的帧循环事件侦听
Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);
}
//单击停止按钮时
FunctionstopAnimation(event:
MouseEvent):
void{
Mymc.stop();
Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);
}
FunctionnextAnimation(event:
MouseEvent):
void{
Mymc.nextFrame();
Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);
FunctionprevAnimation(event:
MouseEvent):
void{
Mymc.prevFrame();
Mymc.removeEventListener(Event.ENTER_FRAME,everyframe);
FunctioneveryAnimation(event:
MouseEvent):
void{
Mymc.addEventListener(Event.ENTER_FRAME,everyframe);
}
FunctiongotoAnimation(event:
MouseEvent):
void{
Mymc.gotoAndStop();
Mymc.addEventListener(Event.ENTER_FRAME,everyframe);
}
//自定义倒放函数,执行倒放事件侦听调用
Functioneveryframe(event:
Event):
void{
//若当前帧为第一帧,跳到最后一帧继续倒向播放
If(mymc.currentFrame==1){
Mymc.gotoAndStop(mymc.totalFrame)
}
Else{
Mymc.prevFrame();
}
}
直线运动效果图
Package{
Importflash.display.Sprite;
Importflash.events.Event;
PublicclassMoveLineextendsSprite{
Privatevarvx:
Number=3;
Privatevarvy=:
Number=3;
Privatevarball:
Sprite;
PublicfunctionMoveLine(){
Ball=ball();
Ball.x=20;
Ball.y=20;
Ball.addEventListener(Event.ENTER_FRAME,moveball);
}
PrivatefunctionBall():
Sprite{
Varsp:
Sprite=newSprite;
Sp.graphics.benginFill(0xff0000);
Sp.graphics.drawCircle(0,0,15);
Sp.graphics.endFill();
Returnsp;
}
Privatefunctionmoveball(evt:
Event):
void{
Ball.x+=vx;
Ball.y+=vy;
}
}
}
45度脚运动效果图
Package{
Importflash.display.Sprite;
Importflash.events.Event;
PublicclassMoveLineextendsSprite{
Privatevarvx:
Number=3;
Privatevarvy=:
Number=3;
Privatevarball:
Sprite;
PublicfunctionMoveLine(){
Ball=ball();
Ball.x=20;
Ball.y=20;
Ball.addEventListener(Event.ENTER_FRAME,moveball);
}
PrivatefunctionBall():
Sprite{
Varsp:
Sprite=newSprite;
Sp.graphics.benginFill(0xff0000);
Sp.graphics.drawCircle(0,0,15);
Sp.graphics.endFill();
Returnsp;
}
Privatefunctionmoveball(evt:
Event):
void{
Varradius=angle*Math.PI/180;
Varvx=v*Math.cos(radius);
Varvy=v*Math.sin(radius);
Ball.x+=vx;
Ball.y+=vy;
}
}
}
加速运动效果图
Privatefunctionmoveball(evt:
Event):
void{
Varvx:
Number=0;
Varvy:
Number=0;
Vx+=vx;
Vy+=vy;
Ball.x+=vx;
Ball.y+=vy;
}
谈入谈出效果图
Package{
Importflash.dispplay.Sprite;
Importflash.events.Event;
PublicAlphaextendssprite{
Publicvara:
Number=0.5;
Privatevarball:
Sprite;
PublicfunctionAlpha(){
Ball=Ball(0;
addChild(ball);
ball.x=250;
ball.y=250;
ball.alpha=0;
ball.addEventListener(Event.ENTER_FRAME,moveball);
}
PrivatefunctionBall(){
Varsp:
Sprite=newSprite;
Sp.graphics.benginFill(0xff0000);
Sp.graphics.drawCircle(0,0,15);
Sp.graphics.endFill();
Returnsp;
}
Publicfunctionmoveball(evt:
Event):
void{
Ball.alpha+=a;
If(ball.alpha<0||Math.floor(ball.alpha)==1){
a=-a;}
}
}
}
百叶窗效果图
Importfl.transtions.*;
Importfl.transtions.easing.*;
TranstionManager.start(mc,{type:
Blinds,direction:
Transtion.OUT,duration:
3,easing:
None.easeNone,numstrips:
10,diimension:
0});
谈入谈出效果图
Importfl.transtions.*;
Importfl.transtions.easing.*;
TranstionManager.start(mc,{type:
Fade,direction:
Transtion.IN,duration:
30,easing:
Strong.easeOut,});
飞入效果图
Importfl.transtions.*;
Importfl.transtions.easing.*;
TranstionManager.start(mc,{type:
Fly,direction:
Transtion.IN,duration:
30,easeing:
Strong.easeOut,
startpoint:
9})
光圈效果图
Importfl.transtions.*;
Importfl.transtions.easing.*;
TranstionManager.start(mc,{type:
Photo,direction:
Transtion.IN,duration:
3,easing:
None.easeNone,});
像素溶解效果图
Importfl.transtions.*;
Importfl.transtions.easing.*;
TranstionManager.start(mc,{type:
PixelDissolve,direction:
Transtion.IN,duration:
3,easing:
Regular.easeIn,xSecttions:
30,ySections:
30});
随机运动小球实例
Package{
Importflash.display.Sprite;
Importflash.events.Event;
//定义类
PublicclassRandBallextendsSprite{
//构造函数
PublicfunctionRanBall(){
//使用循环创建30个运动小球
For(vari:
int=0;i<30;i++){
Vars:
Sprite=Ball();
addChild(s);
//设置小球初始位置,Math.random()*520获取一个0~520之间的数,定义为小球横坐标
s.x=Math.random()*520;
//设置小球初始位置,Math.random()*370获取一个0~370之间的数,定义为小球纵坐标
s.y=Math.random()*370;
//设置小球初始旋转角度,Math.random()*360获取一个0~360之间的数,定义为小球旋转角度
s.rotation=Math.random()*360;
}
}
//创建运动小球方法
PrivatefunctionBall():
Sprite{
//定义属性
Varball:
Sprite;
Varradians=0;
Varspeed=0;
Varradius=5;
//创建小球
Ball=Circle();
//0.01+0.5*Math.random()大小为大于0.01,小于0.51之间的数字,用于初始化小球转动速度
Speed=0.01+0.5*Math.random();
//