当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash CS实例教程:幸运大抽奖动画

Flash动画制作
巧用超级解霸在Flash V5.0中插入录像
教你用Flash MX来制作简单的课件界面
Flash MX 2004 ActionScript图文教程(二)
Flash MX 2004 ActionScript图文教程(三)
Flash MX 2004 ActionScript图文教程(四)
Flash MX 2004 ActionScript图文教程(五)
Flash MX 2004 ActionScript图文教程(六)
flash场景之间相互跳转的实现方法
Flash本地加密
FLASH -- 关于变量的问题FLASH -- 关于变量的问题
Flash5 画任意直线教程
Flash MX 视频导入功能详解
制作飞舞的蝴蝶
Flash MX 2004 ActionScript图文教程(七)
Flash MX 2004 ActionScript图文教程(八)
Flash MX 2004 ActionScript图文教程(九)
Flash MX 2004 ActionScript图文教程(十)
Flash教程 飞翔的文字
Flash MX 2004 ActionScript图文教程(十一)
制作Flash网站技巧拾零

Flash动画制作 中的 Flash CS实例教程:幸运大抽奖动画


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 230 ::
收藏到网摘: n/a

 好久未来这了,刚好这两天没什么事,又做了一个抽奖的小东东玩玩,只供菜鸟们参考,老鸟们见笑了。


照惯例上主要代码:
stop();

/*

@sxl

@QQ:285510591

@http://sxl001.129hb.com

@2009.12.20

*/

System.useCodePage =true;

//  title_mc:标题  |  gong_mc:显示中奖  |  msg_mc:显示所有中奖和未中奖情况 

title_mc.cacheAsBitmap=true;

gong_mc.cacheAsBitmap=true;

gong_mc.y=1000;

msg_mc.cacheAsBitmap=true;

msg_mc.x=-1000;

//  下列是声音效果数据

var mousw_over_sound:Over=new Over(),rect_up_sound:Move=new Move(),rect_down_soundown=new Down(),_win:Win=new Win();

//  gong_array:奖品名  |   Balls:各个号码  |   hit_ball_array:已抽号码  

var gong_array:Array =[],Balls:Array =[],hit_ball_array:Array =[],move_gong_mc:Boolean=true,move_msg_mc:Boolean;

//   以下是内部设置奖品

var data_str:String ="环保手提袋|罗技|电磁炉|显示器|移动硬盘|掌上游戏机|手机|3G手机|九阳豆浆机|电动剃须刀|雅顿香水|数码相机|闪存盘|离子电视|消毒柜|松下洗衣机|电磁炉|电饭煲|电压力锅|光波炉|搅拌机|榨汁机|电茶壶|咖啡机|自动烹饪锅|紫砂煲|空调|吸油烟机|取暖器|加湿器";

gong_array =data_str.split("|");

randomArray(gong_array);

/* 以下注释部分是从外部文本中导入奖品数据

var loaderNum:URLLoader = new URLLoader();

configureListenersNum(loaderNum);

var urlNum:String ="data/奖品.txt";

var requestNum:URLRequest=new URLRequest(urlNum);

loaderNum.load(requestNum);

function configureListenersNum(dispatcher:IEventDispatcher):void {

dispatcher.addEventListener(Event.COMPLETE, completeHNum);

dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

}

function completeHNum(event:Event):void {

gong_array =event.target.data.split("|");

randomArray(gong_array);

event.target.removeEventListener(Event.COMPLETE, completeHNum);

event.target.removeEventListener(Event.COMPLETE, ioErrorHandler);

}

function ioErrorHandler(event:IOErrorEvent):void {

dele_balls_seleabled();

chakan_mc.buttonMode =false;

chakan_mc.removeEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

chakan_mc.removeEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

chakan_mc.removeEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

gong_mc._txt.text="请检查数据";

gong_mc.Ball._txt.text="-_-";

gong_mc.addEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

gong_mc.close_btn.enabled=false;

gong_mc.close_btn.removeEventListener(MouseEvent.MOUSE_DOWN,onCloseShowGong);

event.target.removeEventListener(Event.COMPLETE, completeHNum);

event.target.removeEventListener(Event.COMPLETE, ioErrorHandler);

}

*/

for (var i:uint =0; i<30; i++) {

this["Ball" + i].cacheAsBitmap=true;

this["Ball" + i].gotoAndStop("one");

Balls.push(this["Ball" + i]);

msg_mc["m" + i].ball_mc.gotoAndStop("one");

if (i<9) {

  this["Ball"+i]._txt.text="0"+uint(i+1);

  msg_mc["m"+i].ball_mc._txt.text="0"+uint(i+1);

} else {

  this["Ball"+i]._txt.text=""+uint(i+1);

  msg_mc["m"+i].ball_mc._txt.text=""+uint(i+1);

}

msg_mc["m"+i].t.text="等 待 抽 奖";

this["Ball"+i].i=i;

this["Ball"+i].buttonMode =true;

this["Ball"+i].mouseChildren=false;

this["Ball" + i].addEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

this["Ball" + i].addEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

this["Ball" + i].addEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

//......

}

chakan_mc.buttonMode =true;

chakan_mc.mouseChildren=false;

chakan_mc.addEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

chakan_mc.addEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

chakan_mc.addEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

function onMouse_Click(sxl:MouseEvent) {

var target:MovieClip =sxl.currentTarget as MovieClip;

var target_name:String =target.name.substr(0,1);

switch (sxl.type) {

  case "mouseOver" :

   mousw_over_sound.play();

   switch (target_name) {

    case "B" :

     getBitmapFilter(target);

     break;

    case "c" :

     setTxtColor(target.t,0xFFFFFF);

     break;

   }

   break;

  case "mouseOut" :

   switch (target_name) {

    case "B" :

     target.filters =null;

     break;

    case "c" :

     setTxtColor(target.t,0xFFFF00);

     break;

   }

   break;

  case "mouseDown" :

   switch (target_name) {

    case "B" :

     dele_balls_seleabled();

     target.removeEventListener(MouseEvent.CLICK ,onMouse_Click);

     target.gotoAndStop("two");

     setTxtColor(target._txt);

     var index:String =target.i;

     hit_ball_array.push(target);

     var str:uint =uint(target.name.substr(4));

     if (str<9) {

      gong_mc.Ball._txt.text="0"+uint(str+1);

     } else {

      gong_mc.Ball._txt.text=""+uint(str+1);

     }

     

     gong_mc._txt.text=gong_array[index];

     gong_mc.addEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

     rect_up_sound.play();

     

     msg_mc["m" + index].ball_mc.play();

     msg_mc["m"+index].t.text=gong_array[index];

     setTxtColor(msg_mc["m"+index].t,0xffff00);

     setTxtColor(msg_mc["m" + index].ball_mc._txt);

     break;

    case "c" :

     target.t.text="移开中奖结果";

     if (Math.abs(gong_mc.y-300)<10) {

      move_gong_mc=false;

      gong_mc.addEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

     }

     move_msg_mc=!move_msg_mc;

     msg_mc.addEventListener(Event.ENTER_FRAME,show_msg_mc);

     rect_up_sound.play();

     break;

   }

   break;

}

}

//

function show_msg_mc(sxl:Event) {

if (move_msg_mc) {

  var dis_up:Number =(354-sxl.target.x)/5;

  sxl.target.x+=dis_up;

  if (Math.abs(dis_up)<1) {

   sxl.target.x=354;

   sxl.target.removeEventListener(Event.ENTER_FRAME,show_msg_mc);

  }

} else {

  var dis_down:Number =(1800-sxl.target.x)/5;

  sxl.target.x+=dis_down;

  if (Math.abs(dis_down)<10) {

   chakan_mc.t.text="查看中奖结果";

   sxl.target.x=-1000;

   sxl.target.removeEventListener(Event.ENTER_FRAME,show_msg_mc);

  }

}

}

//  删除所有数字按钮功能

function dele_balls_seleabled() {

for (var i:uint =0; i<Balls.length; i++) {

  var A:MovieClip =Balls;

  A.buttonMode =false;

  A.removeEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

  A.removeEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

  A.removeEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

}

}

//  启用可用数字按钮功能

function show_balls_seleabled(A_arr:Array,B_arr:Array) {

var A_array:Array=A_arr,B_array:Array=B_arr;

for (var i:uint =0; i<A_array.length; i++) {

  var A:MovieClip =A_array;

  A.buttonMode =true;

  A.mouseChildren=false;

  A.addEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

  A.addEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

  A.addEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

}

for (var j:uint =0; j<B_array.length; j++) {

  var B:MovieClip =B_array[j];

  B.filters =null;

  B.buttonMode =false;

  B.removeEventListener(MouseEvent.MOUSE_OVER ,onMouse_Click);

  B.removeEventListener(MouseEvent.MOUSE_DOWN ,onMouse_Click);

  B.removeEventListener(MouseEvent.MOUSE_OUT ,onMouse_Click);

}

}

gong_mc.close_btn.addEventListener(MouseEvent.MOUSE_DOWN,onCloseShowGong);

function onCloseShowGong(sxl:MouseEvent) {

rect_down_sound.play();

gong_mc.addEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

}

function move_gong_mc_rect(sxl:Event) {

if (move_gong_mc) {

  var dis_up:Number =(300-sxl.target.y)/5;

  sxl.target.y+=dis_up;

  if (Math.abs(dis_up)<1) {

   _win.play();

   sxl.target.gold.play();

   sxl.target.y=300;

   sxl.target.removeEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

   move_gong_mc=false;

  }

} else {

  var dis_down:Number =(1000-sxl.target.y)/5;

  sxl.target.y+=dis_down;

  if (Math.abs(dis_down)<10) {

   sxl.target.y=1000;

   sxl.target.removeEventListener(Event.ENTER_FRAME,move_gong_mc_rect);

   move_gong_mc=true;

   show_balls_seleabled(Balls,hit_ball_array);

  }

}

}

function randomArray(Target_array:Array):void {

Target_array.sort(function () {

return Math.round(Math.random()) ? 1 : -1;

});

}

function setTxtColor(_txt:TextField,color:uint=0x666666) {

var my_TextFormat:TextFormat =new TextFormat();

my_TextFormat.color =color;

_txt.defaultTextFormat = my_TextFormat;

_txt.setTextFormat(my_TextFormat);

}

//...  投影

function getBitmapFilter(_mc:MovieClip) {

var color:Number = 0x000000;

var angle:Number = 45;

var alpha:Number = 0.8;

var blurX:Number = 8;

var blurY:Number = 8;

var distance:Number = 15;

var strength:Number = 0.65;

var inner:Boolean = false;

var knockout:Boolean = false;

var quality:Number = BitmapFilterQuality.HIGH;

var myDropShadowFilterropShadowFilter= new DropShadowFilter(distance,angle,color,alpha,blurX,blurY,strength,quality,inner,knockout);

_mc.filters =[myDropShadowFilter];

}

源码下载抽奖机.rar