连线游戏课件

阅读: 评论:0

连线游戏课件

连线游戏课件

package 
{//动画要求://1、左边每帧“选择项”等于右边每帧“答案”//适用动画://1、两两对应的连线//代码要求://1、_chooseNum_arr必须为二维数组,并且每个一维数组都同属“选择项”或者同属“答案”的连线//2、“选择项”第一个字符串必须跟“答案”的第一个字符串相同//3、一维数组个数等于该一维数组可跑的帧数,二维数组的个数等于共有多少列import flash.display.MovieClip;import flash.events.MouseEvent;import flash.filters.GlowFilter;import flash.utils.Timer;import flash.events.TimerEvent;import flash.display.Shape;public class LinkAnswer extends MovieClip{private var canvas:Shape;//连线的画布private var beforeMc:MovieClip;//每次连线后或者初始第一个选择的mcprivate var IsTrue:Boolean ;private var mcNum:int = 0;//累计选择的mc总个数private var timeNum:int;//显示结果的时间间隔。private var resulTimer:Timer;//结果显示的时间侦听器private var thisMc:MovieClip;//当前mcprivate var chooseLen:int;//选择的答案所有总多少个private var choose_arr:Array = [];//装载选择的答案private var chooseNum_arr:Array;//装载每条题目的选择项数与标签public function LinkAnswer(){			//init();}//_chooseNum_arr二维数组  _thisMc当前mc,_timeNum结果时间public function init(_chooseNum_arr:Array,_thisMc:MovieClip,_timeNum:int){for(var i=0;i<_chooseNum_arr.length;i++){//定位每行的元素for(var j=0;j<_chooseNum_arr[i].length;j++){//依次存入每个元素choose_arr.push(_chooseNum_arr[i][j]);}}chooseNum_arr=_chooseNum_arr;thisMc=_thisMc;timeNum=_timeNum;IsTrue=true;//获取所有的mc总长度chooseLen=choose_arr.length;//将画布添加到该mc上canvas=new Shape();thisMc.addChild(canvas);thisMc.setChildIndex(canvas,1);//时间侦听resulTimer=new Timer(timeNum,1); resulTimer.addEventListener(TimerEvent.TIMER,resulTimer_fun);pushChooseArr();}private function pushChooseArr():void{//获取所有的mc总长度var chooseNumLen:int=chooseNum_arr.length;for(var b:int=0;b<chooseNumLen;b++){//存入每组mcvar _arr:Array = new Array();for (var d = 1; d <= chooseNum_arr[b].length; d++){//存入每组mc_arr.push(d);//当装载每组mc的总mc个数的数组等于每组mc的总个数时,进行mc随机放if(d == chooseNum_arr[b].length){for (var e = 0; e < chooseNum_arr[b].length; e++){var j:Number = und(Math.random() * (_arr.length - 1));chooseNum_arr[b][e].gotoAndStop(_arr[j]);chooseNum_arr[b][e].addEventListener(MouseEvent.CLICK,choose_fun);chooseNum_arr[b][e].buttonMode = true;_arr.splice(j,1);}}}}}//选择mc进行连线private function choose_fun(e:MouseEvent):void{var chooseMc:MovieClip = e.currentTarget as MovieClip;if (beforeMc){	//当当前的mc的名字第一个字符串等于之前选择的mc的第一个字符串并该mc长度不等于之前mc长度时进行连线if (beforeMc.name.length != chooseMc.name.length && beforeMc.name.charAt(0) == chooseMc.name.charAt(0)){aphics.lineStyle(5,0x990000);veTo(beforeMc.x,beforeMc.y);aphics.lineTo(chooseMc.x,chooseMc.y);dFill();//判断当前mc帧与之前mc帧是否一致if (beforeMc.currentFrame != chooseMc.currentFrame){IsTrue = false;}useChildren = useEnabled = useChildren = useEnabled = false;mcNum +=  2;}beforeMc.filters = null;beforeMc = null;//判断是否做完题目IsOVER();}else{chooseMc.filters = [new GlowFilter ];beforeMc = chooseMc;}}//判断是否做完题目	private function IsOVER():void{//记载的mc数目等于数组数目,则进行揭开结果resulTimer_funif (mcNum==choose_arr.length){resulTimer.start();}}private function resulTimer_fun(e:TimerEvent):void{//清除画布,移除mc侦听和时间侦听delet_fun();var mc:MovieClip=thisMc.parent as MovieClip;if(!IsTrue){mc.fanying("答错");}else{mc.fanying("答对");}}//清除画布,移除mc侦听和时间侦听private function delet_fun():aphics.clear();veChild(canvas);canvas=null;for(var i=0;i<choose_arr.length;i++){choose_arr[i].removeEventListener(MouseEvent.CLICK,choose_fun);}veEventListener(TimerEvent.TIMER,resulTimer_fun);}}
}

  

转载于:.html

本文发布于:2024-01-28 19:13:44,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064404289648.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:课件   游戏
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23