WEB开发网
开发学院图形图像Flash Flash教程:模拟幸运号抽奖机 阅读

Flash教程:模拟幸运号抽奖机

 2008-05-09 11:21:00 来源:WEB开发网   
核心提示: 第二帧上代码:stop();//=初始区===//--加点投影效果importflash.filters.DropShadowFilter;vard_filtersropShadowFilter=newDropShadowFilter(5,45,0x336633,80,8,8);//--数

第二帧上代码:

stop();
//============= 初始区 ===========================
//------加点投影效果
  
importflash.filters.DropShadowFilter;
vard_filtersropShadowFilter=newDropShadowFilter(5,45,0x336633,80,8,8);
//------数组乱序
randomArray(num_array);
//------loop声音
loopMp3.start();
loopMp3.onSoundComplete=function(){
loopMp3.start();
};
/*
如输入119时:
 total_num=119 |txtLong_num=3 |num_array=[001,....]
 randomNum停止工作时显示未位上的数字相同的一组文本框(0~3) | C_array  用于删除已抽的号码函数 |
 getNo_array 存贮获取的当前一组文本中的数字 |jieguo_mcY0 弹出的显示已抽号的窗口的初始y坐标
*/
varrandomNum:Number,C_array:Array=[],getNo_array:Array=[],jieguo_mcY0:Number=jieguo_mc._y;
  
varkO:Boolean=true;
total_txt.text="参与选号总数是: "+total_num;
//=====================================================
//============= 函数区 ===============================
//------ 根据第一帧上输入的数值复制文本框个数与各位数上的数量
this.createEmptyMovieClip("main",0);
body();
functionbody(){
for(vari:Number=0;i<txtLong_num;i++){
 for(varj:Number=0;j<4;j++){
 main["m"+i+j]=main.attachMovie("cell","m"+i+j,main.getNextHighestDepth(),{_x:i*80,_y:-j*85});
 main["m"+i+j].v=true;
 main["m"+i+j].filters=[d_filters];
 //main["m"+i+j].num 决定再次升到顶端时其中的数值从数组num_array中进行取值的位置 网页教学网
 main["m"+i+j].num=j;
 main["m"+i+j].t.text=num_array[j].toString().substr(i,1);
 Rolling(main["m"+i+j]);
 }
}
}
//------- 文本框居中排列
PosiMain();
functionPosiMain(){
main._x=Stage.width/2-main._width/2;
main._y=Stage.height/2-40;
}
//------- 滚动函数
functionRolling(target:MovieClip){
target.onEnterFrame=function(){
 if(this.v){
 this._y+=40;
 if(this._y>=80){
  this.num+=4;
  if(this.num>total_num){
  this.num=Number(this._name.substr(2,1));
  }
  this.t.text=num_array[Number(this.num)].toString().substr(this._name.substr(1,1),1);
  this._y=-255;
 }
 }else{
 deleCell();
 }
};
}
main.setMask(mask_mc);
//------- 停止滚动和显示结果区 
functiondeleCell(){
for(variinmain){
 // 如果文本框未位上的数字与停止按钮给出的数字不同时就被删除
 if(main._name.substr(2,1)!=randomNum){
 main.t.text="";
 main._visible=false;
 main.removeMovieClip();
 deletemain.onEnterFrame;
 }else{
 // 如果文本框未位上的数字与停止按钮给出的数字相同时就作为显示对象
 if(main._y!=0){
  main._y+=(0-main._y)/10;
  
 }else{
  //--- 删除num_array中已抽的号码
  C_array.push(main);
  if(C_array.length==txtLong_num){
  varn=main.num;
  getNo_array.push(num_array[n]);
  jieguo_mc.t.text="";
  for(varIndex:Number=(getNo_array.length-1);Index>=0;Index--){
   jieguo_mc.t.text+="第"+(Index+1)+"次抽取的号码是:"+getNo_array[Index]+"
";
  }
  vartw1=newmx.transitions.Tween(jieguo_mc,’_y’,mx.transitions.easing.Back.easeOut,jieguo_mcY0,Stage.height-jieguo_mc._height,1,true);
  num_array.splice(n,1);
  deletemain.onEnterFrame;
  }
 }
 }
}
}
//===================================================
//============= 按钮与声音区 ========================
stop_mc.t.text="停止";
reSet_mc.t.text="再选";
//控制按钮切换变量
stop_mc.onOff=true;
reSet_mc.onOff=false;
stop_mc.onRollOver=function(){
_sound();
this.play();
};
stop_mc.onPress=function(){
if(this.onOff){
 // randomNum决定哪组文本框被保留或被删除
 randomNum=random(4);
 loopMp3.stop();
 C_array=[];
 for(variinmain){
 //main.v决定执行停止滚动和显示结果区
 main.v=false;
 }
 reSet_mc.onOff=true;
 this.onOff=false;
 kO=false;
}
};
stop_mc.onRollOut=function(){
this.play();
};
reSet_mc.onRollOver=function(){
_sound();
this.play();
};
reSet_mc.onPress=function(){
if(this.onOff){
 loopMp3.start();
 for(variinmain){
 deletemain.onEnterFrame;
 main.removeMovieClip();
 }
 body();
 stop_mc.onOff=true;
 this.onOff=false;
 kO=true;
}
};
reSet_mc.onRollOut=function(){
this.play();
};
jieguo_mc.Press_mc.onRollOver=function(){
_sound();
};
jieguo_mc.Press_mc.onPress=function(){
vartw2=newmx.transitions.Tween(jieguo_mc,’_y’,mx.transitions.easing.Back.easeOut,jieguo_mc._y,jieguo_mcY0,1,true);
};
//----- 回车键控制
varkeyObj:Object=newObject();
keyObj.onKeyDown=function(){
if(Key.getCode()==Key.ENTER){
 switch(kO){
 casetrue:
 // randomNum决定哪组文本框被保留或被删除
 randomNum=random(4);
 loopMp3.stop();
 C_array=[];
 for(variinmain){
  //main.v决定执行停止滚动和显示结果区
  main.v=false; 
 }
 reSet_mc.onOff=true;
 stop_mc.onOff=false;
 kO=false;
 break;
 casefalse:
 loopMp3.start();
 for(variinmain){
  deletemain.onEnterFrame;
  main.removeMovieClip();
 }
 body();
 stop_mc.onOff=true;
 reSet_mc.onOff=false;
 kO=true;
 break;
 }
}
};
Key.addListener(keyObj);
//===========================================

上一页  1 2 

Tags:Flash 教程 模拟

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接