as3.0范例100

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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<8; 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);
//为每个小球添加移动帧频函数
}
function dongf(e) {
var mc: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);
//
}
function overf(e) {
for (i=0; i<arrTupian.length; 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,"scaleX",Regular.easeOut,1,3,0.5,true);
//参数从1倍扩大到3倍
tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,1,3,0.5,true);
//参数分别是对象,属性,缓动类型,开始参数,结束参数,缓动事件,true表示为单位为妙false表示为帧}
function outf(e) {
e.target.removeEventListener(MouseEvent.MOUSE_OVER ,overf);
e.target.removeEventListener(MouseEvent.MOUSE_OVER ,outf);
tweenscaleX=new Tween(datu,"scaleX",Regular.easeOut,3,1,0.5,true);
//开始和结束的参数反过来则实现了缩小的效果
tweenscaleY=new Tween(datu,"scaleY",Regular.easeOut,3,1,0.5,true);
//tweenScaleX=new Tween.yoyo ()或者用这个方法,表示实现原来缓动的相反过程
//tweenScaleY=new Tween.yoyo ()
tweenscaleX.addEventListener(TweenEvent.MOTION_FINISH,fishf); }
function fishf(e) {
removeChild(datu);
datu=null;
//注意从显示列表中清除后,
//元件本身还有东西,因此还要把大图元件清空
for (i=0; i<arrTupian.length; i++) {
arrTupian[i].addEventListener(Event.ENTER_FRAME ,dongf);
}
************************************************************************************************************************** 实例二利用timer类实现图片的切换
场景中有一个pic图片多帧元件,currnum和totalnum两个动态文本speed输入文本,一个msg动态文本
var timer:Timer;
speed.text="2"//播放的初始速度为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("Impact",15,0xff00ff,true); var txt:TextField=new TextField(); 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;
******************************************************************************************************************* 实例三点击小图看大图效果
var targetArr:Array=[];
var pointArr:Array=[];
var picArr:Array=[];
var index:int;
var targetPoint=new Point(275,200);
for (var i:int=0; i<20; i++) {
var point:Point=new Point();
var targetP:Point=new Point();
//var C:Class=getDefinitionByName("cat"+i) as Class;
/加载同路径文件夹中的名字为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;。

相关文档
最新文档