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

Flash动画制作
赤手空拳下载Flash
创建一个Flash站点的十大技巧
用Flash制作Google搜索程序
枫桥夜泊下 遮罩效果的动态文本
Flash MX 2004 ActionScript图文教程(十二)
Flash实例教程 扫描文字效果
Flash MX 2004 ActionScript图文教程(十三)
快速制作您的flash图表
Flash MX 2004 ActionScript图文教程(十四)
Flash实例教程 变幻的字母
Flash MX 2004 ActionScript图文教程(十五)
Flash实例教程 相约北京 扬帆青岛
Flash教程实例 光线特效文字
Flash课件实例 画正多边形
Flash课件实例 平行四边形法则
Flash实例教程 小孔成像课件
精简Flash文件体积七法
Flash教程实例:水中浮动的文字
金鸡贺岁!Flash制作鸡年新春动画贺卡
Flash MX 2004新特性实例学习一

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 232 ::
收藏到网摘: 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