package com{ import flash.display.MovieClip; import flash.display.Shape; import flash.events.MouseEvent; import fl.motion.Color; import flash.events.Event; import flash.geom.Point; import flash.display.SimpleButton; public class Line extends MovieClip { private var picMc:MovieClip; private var wordMc:MovieClip; private var emptyMc:MovieClip; private var color:uint; private var size:uint; private var line:Shape; private var point:Point; private var newPoint:Point; private var eTarMc:MovieClip; private var mcArr:Array=[]; private var McArr:Array=[]; private var wordMusicArr:Array=[""]; private var picMusicArr:Array=[""]; private var mm:MyMusic=new MyMusic ; public function Line(_wordMc:MovieClip,_picMc:MovieClip,_emptyMc:MovieClip,_color:uint=0xFF0000,_size:uint=5) { wordMc=_wordMc; picMc=_picMc; emptyMc=_emptyMc; color=_color; size=_size; clearDeaw(); picMc.buttonMode=true; wordMc.buttonMode=true; wordMc.addEventListener(MouseEvent.MOUSE_DOWN,onDown); picMc.addEventListener(MouseEvent.MOUSE_DOWN,onDown); } private function onDown(e:MouseEvent) { eTarMc=e.target as MovieClip; point=new Point(e.target.x,e.target.y); newPoint=e.currentTarget.localToGlobal(point); var n:int=int(e.target.name.slice(-1))-1; if (eTarMc.alpha==0) { eTarMc.alpha=1; mcArr.push(e.target); McArr.push(e.currentTarget); if (McArr.length==1) { line=new Shape ; emptyMc.addChild(line); line.graphics.lineStyle(size,color); if (McArr[0].name=="wordMc") { line.graphics.moveTo(newPoint.x+e.target.width/2,newPoint.y); MyMusic.initialSound(wordMusicArr[n]); } else if (McArr[0].name=="picMc") { line.graphics.moveTo(newPoint.x-e.target.width/2,newPoint.y); MyMusic.initialSound(picMusicArr[n]); } } else if (McArr[0]==McArr[1]&&McArr.length==2) { if (McArr[0].name=="wordMc") { line.graphics.moveTo(newPoint.x+e.target.width/2,newPoint.y); MyMusic.initialSound(wordMusicArr[n]); } else if (McArr[0].name=="picMc") { line.graphics.moveTo(newPoint.x-e.target.width/2,newPoint.y); MyMusic.initialSound(picMusicArr[n]); } mcArr[0].alpha=0; McArr.shift(); mcArr.shift(); } else if (McArr[0]!=McArr[1]&&McArr.length ==2&&mcArr[0].name.slice(-1)==mcArr[1].name.slice(-1)) { if (McArr[1].name=="wordMc") { MyMusic.initialSound(wordMusicArr[n]); line.graphics.lineTo(newPoint.x+e.target.width/2,newPoint.y); } else if (McArr[1].name=="picMc") { MyMusic.initialSound(picMusicArr[n]); line.graphics.lineTo(newPoint.x-e.target.width/2,newPoint.y); } mcArr=[]; McArr=[]; trace(emptyMc.numChildren) if (emptyMc.numChildren==8) { MyMusic.initialSound("恭喜你,都连对了"); explainMc.gotoAndStop(3); } } else if (mcArr[0].name.slice(-1)!=mcArr[1].name.slice(-1)) { mcArr[0].alpha=0; mcArr[1].alpha=0; mcArr=[]; McArr=[]; emptyMc.removeChild(line); MyMusic.initialSound(""); } } } //弹框 private var explainMc:MovieClip; public function explainFun(_explainMc:MovieClip,btn:SimpleButton) { explainMc=_explainMc; explainMc.gotoAndStop(2); explainMc.addEventListener(MouseEvent.CLICK,onExplain); btn.addEventListener(MouseEvent.CLICK,onExplain); } private function onExplain(e:MouseEvent) { if (e.target.name=="startGameBtn") { explainMc.gotoAndStop(1); MyMusic.pauseFuntion(); } else if (e.target .name=="againBtn") { explainMc.gotoAndStop(1); MyMusic.pauseFuntion(); clearDeaw(); } } public function clearDeaw() { while (emptyMc.numChildren>0) { emptyMc.removeChildAt(0); } mcArr=[]; McArr=[]; for (var i:uint=0; i<picMc.numChildren; i++) { picMc.getChildAt(i).alpha=0; wordMc.getChildAt(i).alpha=0; } } } }
连线
猜你喜欢
转载自www.cnblogs.com/zqiang0803/p/9227792.html
今日推荐
周排行