连线

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
今日推荐