zoukankan      html  css  js  c++  java
  • flash 墙

    部分源代码 MainMovie.as
    代码
    package com.view.swf 
    {
        import com.
    global.config;
        import com.loader.imageLoader;
        import flash.display.
    *;
        import flash.events.
    *;
        import flash.geom.Point;
        import flash.geom.Rectangle;
        import flash.utils.Timer;
        
        import com.loader.imageLoading;
        
        
    public class MainMovie extends Sprite
        {
            
    private var stageW       :Number
            
    private var stageH       :Number
            
    private var blockesW     :Number;
            
    private var blockesH     :Number;
            
            
    private var sprite2D     :Sprite;
            
    private var bitmapArr    :Array;
            
    private var jx_h         :Number;
            
            
    private var tempStr      :String;
            
    private var tempBox      :*;
            
    private var controlArr   :Array;
            
    private var allSpriteArr :Array;
            
    private var controlArr_  :Array;
            
            
    private var imageloading :imageLoading;
            
    private var timer        :Timer;
            
    private var num          :Number;
            
    private var num_         :Number;
            
    private var indexArr     :Array;
            
    private var lock         :Boolean;
            
            
    public function MainMovie() 
            {
                init();
            }
            
            
    private function init()
            {
                num        
    = 0;
                num_       
    = 0;
                
    lock       = false;
                jx_h       
    = config.jx_h;
                stageW     
    = 720;
                stageH     
    = 289;
                blockesW   
    = 60;
                blockesH   
    = 60;
                sprite2D   
    = new Sprite();
                bitmapArr  
    = new Array();
                controlArr 
    = new Array();
                controlArr_ 
    = new Array();
                allSpriteArr 
    = new Array();
                indexArr   
    = new Array();    
                indexArr
    =[9,8,7,6,5,4,3,2,1,0,10,11,12,13,14,15,16,17,18,19,29,28,27,26,25,24,23,22,21,20,30,31,32,33,34,35,36,37,38,39]
                tempStr    
    = "";
                
                
                
    this.addChildAt(sprite2D, this.numChildren);
                
    //加载背景图片
                loadImage(); 
                
    //timer
                timer      = new Timer(150);
                timer.addEventListener(TimerEvent.TIMER, timerEvent);
                timer.start();
            }
            
            
    private function loadImage()
            {
                var url
    =config.path+"image/bg.jpg"
                imageloading 
    = new imageLoading(url);
                imageloading.addEventListener(
    "complete",getBitmap); 
            }
            
            
    private function getBitmap(event:Event)
            {
                
    //拆分背景图片
                cutImage(imageloading.getLoaderContent);                
            }
            
    private function cutImage(bitmapData:BitmapData)
            {
                imageloading 
    = null;
                var bitmapArrX:Array 
    = new Array();
                var bitmapArrY:Array 
    = new Array();
                var maxI:Number 
    = int(bitmapData.width / blockesW) 
                var maxJ:Number 
    = int(bitmapData.height / blockesH)
                
    if (bitmapData.width % blockesW != 0)
                {
                    maxI
    ++;
                }
                
    if (bitmapData.height % blockesH != 0)
                {
                    maxJ
    ++;
                }
                
    for (var j:Number = 0; j <= maxJ; j++ )
                {
                    
    for (var i:Number = 0; i < maxI; i++ )
                    {
                        var rect:Rectangle 
    = new Rectangle(i*blockesW, j*blockesH, blockesW, blockesH);
                        var pt  :Point     
    = new Point(00);
                        var newBitmapData:BitmapData 
    = new BitmapData(blockesW, blockesH)
                        newBitmapData.copyPixels(bitmapData, rect, pt);
                        var newBitmap:Bitmap 
    = new Bitmap(newBitmapData, "auto"true)
                        bitmapArrX.push(i 
    * blockesW);
                        bitmapArrY.push(j 
    * blockesH);
                        bitmapArr.push(newBitmap);
                    }
                }
                 
    //组合背景图片
                combinationImage(maxI,maxJ,bitmapArrX,bitmapArrY);                          
            }
            
    private function combinationImage(maxI:Number, maxJ:Number, arrX:Array, arrY:Array)
            {
                var max:Number 
    = maxI * maxJ;
                
    for (var i:Number = 0; i < max; i++)
                {
                    var sprite:LR_roataion 
    = new LR_roataion();
                    sprite.img.addChild(bitmapArr[i])
                    addLogo(sprite.logo)
                    sprite2D.addChildAt(sprite,i);
                    sprite.x 
    = (i % maxI) * blockesW+30;           //arrX[i]
                    sprite.y = int(i / maxI) * blockesH+30 + jx_h; //arrY[i]
                    sprite.name = i + "";
                    
    if (i % maxI != 0 && i % maxI != 11 && int(i / maxI)!=4)
                    {
                        sprite.addEventListener(MouseEvent.MOUSE_OVER, spriteMouseOver)
                        sprite.addEventListener(MouseEvent.MOUSE_OUT, spriteMouseOut)
                        allSpriteArr.push(sprite)
                    }
    else {
                        sprite.addEventListener(MouseEvent.MOUSE_OUT, spriteMouseOut_)
                    }
                }
            }
            
    private function spriteMouseOver(event:MouseEvent)
            {
                var sprite        
    = event.currentTarget ;
                tempBox 
    = sprite;
                
    if (sprite.currentFrame == 1)
                {
                    sprite.gotoAndPlay(
    "start");
                }
            }
            
    private function spriteMouseOut(event:MouseEvent)
            {
                var sprite     
    = event.currentTarget;
                controlArr.push(sprite);
            }
            
    private function spriteMouseOut_(event:MouseEvent)
            {
                
    if (tempBox != null)
                {
                    tempBox.gotoAndPlay(
    "finish");
                    tempBox 
    = null;
                    
    lock = true
                    
    for (var i:Number = 0; i < controlArr.length; i++ )
                    {
                        
    if (tempBox == controlArr[i])
                        {
                            controlArr.splice(i, 
    1);
                        }
                    }
                }
            }
            
    private function timerEvent(event:TimerEvent)
            {
                
    //trace(controlArr[controlArr.length-1].name)
                if (controlArr.length == 0 && tempBox == null && allSpriteArr.length!=0)
                {
                    
    if (num==-1)
                    {
                        num 
    = 1;
                        
    lock = false
                    }
                    
    if (num < 20)
                    {
                        num
    ++;
                        num_ 
    = 0;
                    }
    else {
                        
    if (num_ < indexArr.length)
                        {
                            num_
    ++;
                            var _num_:Number 
    = Number(indexArr[num_ -1]);
                            
    if (allSpriteArr[_num_] != null)
                            {
                                allSpriteArr[_num_].gotoAndPlay(
    2);
                                controlArr_.push(allSpriteArr[_num_]);
                            }
                        }
                    }
                }
    else {
                    
    for (var i:Number = 0; i < controlArr.length; i++ )
                    {
                        
    if (controlArr[i].currentFrame == 18 && controlArr[i]!=tempBox)
                        {
                            controlArr[i].gotoAndPlay(
    "finish");
                            controlArr.splice(i, 
    1);
                        }
                    }
                    
    if (tempBox != null)
                    {
                        
    if (tempBox.currentFrame == 1)
                        {
                            tempBox.gotoAndPlay(
    2);
                        }
                    }
                }
                
    for (var j:Number = 0; j < controlArr_.length; j++ )
                {
                    
    if (controlArr_[j].currentFrame == 18 && controlArr_[j]!=tempBox)
                    {
                        
    if (controlArr_[j] != null)
                        {
                            controlArr_[j].gotoAndPlay(
    "finish");
                        }
                        controlArr_.splice(j, 
    1);
                    }
                }
                
    if (controlArr_.length==0 && j != 0)
                {
                    num
    =-1
                }
            }
            
    private function addLogo(sprite:*)
            {
                var url:String 
    = config.path + "image/" + (Math.round(Math.random()*113)+1+ ".jpg"
                var imageLoader_ 
    = new imageLoader(url, sprite);
            }
            
    private function closeAll()
            {
                timer.removeEventListener(TimerEvent.TIMER, timerEvent);
                timer.stop();
            }
        }
    }
  • 相关阅读:
    FPGA 在线调试方法概述
    Quartus II& Nios II 出错解决办法
    Verilog HDL--VGA显示
    常用电平转换方案
    Verilog HDL SPI通信——读
    Verilog HDL SPI通信——写
    Verilog HDL串口发送程序
    verilog HDL 串口接受程序
    关于AFNetworking中header的bug问题
    iOS项目的本地化处理(多国语言)
  • 原文地址:https://www.cnblogs.com/as3developer/p/1674294.html
Copyright © 2011-2022 走看看