mysound=new cc(); var po:Number=0; //开始:
song=mysound.play(0); }
//暂停:
bt2.addEventListener(MouseEvent.CLICK ,f2); function f2(evt:MouseEvent){ po=song.position; song.stop(); }
//继续播放:
bt3.addEventListener(MouseEvent.CLICK ,f3); function f3(evt:MouseEvent){ song=mysound.play( po ); }
16.临时输出 trace(\
17.类的定义与对象的声明 import s2;
var ss:s2 = new s2(); var n:Number; n=ss.a ; trace(n);
///////////// package {
public class s2 {
public var a:Number; public var b:Number;
public function s2(){ this.a=2; this.b=3 } publicfunction f (n:Number):Number {
return 10; }}}
///////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
6 / 15
FLASH as2.0常用代码 1.暂停: stop();
2.按钮开始:on (release) { gotoAndPlay(2);} 3.数组的用法: var s=new Array(4); s[0]=8 s[1]=4 s[2]=7 s[3]=9
for(i=0;i a.text=a.text+ s[i]+\ 4.鼠标隐藏:
_root.m._x=_root._xmouse ; _root.m._y=_root._ymouse ; Mouse.hide (); 5.
声音的控制代码:
myMusic = new Sound();
//建立一个名为 myMusic的声音对象 myMusic.attachSound(\
篇三:Flash_as3.0实例教程100例
实例一 利用缓动类实现图片滚动点击放大效果 //缓动类不在flash包中在fl包中所以要先导入 import fl.transitions.Tween;//导入缓动类
import fl.transitions.TweenEvent;//导入缓动事件
import fl.transitions.easing.Regular;//导入缓动效果中有规律的var arrTupian:Array=[];//存放图片的数组
var tweenscaleX:Tween;//用来控制图片宽高的缓动类 var tweenscaleY:Tween; var datu:MovieClip;
for (var i:int=0; i var xiaotu:MovieClip =new Pic();//这里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);//为每个小球添加移动帧频函数}
7 / 15
function dongf(e) {
var mc:MovieClip=e.target; mc.x-=6;
if (mc.x mc.x=xiaotu.width/2+7*(xiaotu.width+10); }
mc.buttonMode=true;
mc.addEventListener(MouseEvent.MOUSE_OVER ,overf);///鼠标移过时候停止移动mc.addEventListener(MouseEvent.MOUSE_OUT,outf);// }
function overf(e) {
for (i=0; i //注意是点击一张图片应该让所有的图片都移除移动的侦听 arrTupian[i].removeEventListener(Event.ENTER_FRAME ,dongf);
arrTupian[i].removeEventListener(MouseEvent.MOUSE_OVER ,overf);
//注意也要把移过函数移除,等下次再调用再添加防止下面的效果还没有达到又开始此函数 }
//此时大图出现 datu=new Pic();
datu.gotoAndStop(arrTupian.indexOf (e.target)+1); addChild(datu);
datu.x=stage.stageWidth/2; datu.y=200;
tweenscaleX=new Tween(datu,\参数从1倍扩大到3倍
tweenscaleY=new Tween(datu,\
//参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true表示为单位为妙false表示为帧 }
function outf(e) {
e.target.removeEventListener(MouseEvent.MOUSE_OVER ,overf); e.target.removeEventListener(MouseEvent.MOUSE_OVER ,outf);
tweenscaleX=new Tween(datu,\开始和结束的参数反过来则实现了缩小的效果
tweenscaleY=new Tween(datu,\
//tweenScaleX=new Tween.yoyo ()或者用这个方法,表示实现原来缓动的相反过程//tweenScaleY=new Tween.yoyo ()
tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf); }
8 / 15
function fishf(e) { removeChild(datu);
datu=null;//注意从显示列表中清除后,
//元件本身还有东西,因此还要把大图元件清空
for (i=0; i arrTupian[i].addEventListener(Event.ENTER_FRAME ,dongf); }
实例二 利用timer类实现图片的切换 场景中有一个pic图片多帧元件,currnum和totalnum两个动态文本speed输入文本,一个msg动态文本 var timer:Timer;
speed.text=\播放的初始速度为1000毫秒 btn.addEventListener(MouseEvent.CLICK ,f); function f(e) { msg.text=\
timer=new Timer(1000*Number(speed.text),pic.totalFrames);
//计时器运行的时间单位都是毫秒,因此输入的速度都是秒应该再乘以1000.//输入的文本都是字符串因此要转化成数字 timer.start();
timer.addEventListener(TimerEvent.TIMER ,timerf);
timer.addEventListener (TimerEvent.TIMER_COMPLETE,comf)//添加一个播放完后的函数 }
function timerf(e) {
pic.gotoAndStop(timer.currentCount);//图片播放的张数及为计时器运行的当前次数 //例如运行一次既是第一张,两次则为第二张 currnum.text=String(timer.currentCount);
totalnum.text=String(timer.repeatCount);//计时器总共运行的次数 }
function comf(e){
msg.text=\图片已经播放完毕谢谢欣赏\信息文本框的文本显示内容 }
var format:TextFormat=new TextFormat(\txt:TextField=new TextField();
addChildAt(txt,numChildren-1);
txt.text=\这里随便写些东西\ txt.wordWrap=true;
txt.setTextFormat(format); txt.width=txt.textWidth; txt.height=txt.textHeight;
9 / 15
txt.x=10,txt.y=33;
实例三 点击小图看大图效果 var targetArr:Array=[]; var pointArr:Array=[]; var picArr:Array=[]; var index:int;
var targetPoint=new Point(275,200);
for (var i:int=0; i var point:Point=new Point(); var targetP:Point=new Point();
//var C:Class=getDefinitionByName(\加载同路径文件夹中的名字为cat+i20张的图片
var bmd:BitmapData=new C(0,0);//库中一个图片类文件 var bmp:Bitmap=new Bitmap(bmd); var mc:MovieClip=new MovieClip(); addChild(mc);
mc.addChild(bmp); bmp.x=- bmp.width/2; bmp.y=- bmp.height/2; mc.scaleX=mc.scaleY=.4; i i>=6&&i i>=10&&i i>=16&&i 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); }
var timer:Timer=new Timer(1000); timer.start();
timer.addEventListener(TimerEvent.TIMER,picMove); var k:int=0;
function picMove(e) {//图片移动效果 k++;
for (var j: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;
10 / 15