zoukankan      html  css  js  c++  java
  • 网格概念

    public function Maze()

    {

    super();

    if(stage.fullScreenWidth <stage.fullScreenHeight)

    {

    stage.setOrientation(StageOrientation.ROTATED_RIGHT);

    }

     

    // support autoOrients

    stage.align = StageAlign.TOP_LEFT;

    stage.scaleMode = StageScaleMode.NO_SCALE;

    stage.displayState = StageDisplayState.FULL_SCREEN;

     

    loader = new Loader();

    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onLoad);

    loader.load(new URLRequest("black.png"));

     

     

    }

     

    private function onLoad(event:Event):void

    {

    var obj:Bitmap = Bitmap(loader.content);

    bmpd = obj.bitmapData;

    addChild(obj);

     

    rawDrid();

    }

     

    private function rawDrid():void

    {

    var gridAry:Array = [];

    var blackGridAry:Array = [];

     

    var gridSize:int = 10;

    var horizontalGridCount:int = stage.width / gridSize;

    var verticalGridCount:int = stage.height / gridSize;

    var totalCount:int = horizontalGridCount * verticalGridCount;

    trace("水平格子数量:" + horizontalGridCount + "  垂直格子数量:" + verticalGridCount);

    var i:int = 0;

    var j:int = 0;

    var startX:int = 0;

    var startY:int = 0;

    for(i;i < horizontalGridCount;i++)

    {

    startX = i * gridSize;

    j = 0;

    for(;j < verticalGridCount; j++)

    {

    startY = j * gridSize;

    var rect:Rectangle = new Rectangle(startX,startY,gridSize,gridSize);

    gridAry.push(rect);

     

    }

    }

     

    trace("格子总数:"+gridAry.length);

     

    i = 0;

    for(i;i < totalCount;i++)

    {

    var rect1:Rectangle = Rectangle(gridAry[i]);

    if(checkHaveBlackPoint(rect1))

    {

    blackGridAry.push(rect1);

    }

    }

     

    var sprite:Sprite = new Sprite();

    this.addChild(sprite);

    i = 0;

    var len:int = blackGridAry.length;

    sprite.graphics.lineStyle(1,0xff0000);

    for(i; i < len; i++)

    {

    var rect2:Rectangle = Rectangle(blackGridAry[i]);

    sprite.graphics.moveTo(rect2.x,rect2.y);

    sprite.graphics.lineTo(rect2.x + gridSize,rect2.y);

    sprite.graphics.lineTo(rect2.x + gridSize,rect2.y+gridSize);

    sprite.graphics.lineTo(rect2.x,rect2.y+gridSize);

    sprite.graphics.lineTo(rect2.x,rect2.y);

     

     

    }

    }

     

    private function checkHaveBlackPoint(rect:Rectangle):Boolean

    {

    var i:int = rect.x;

    var j:int;

    var color:uint = 0;

    var leni:int = rect.width + rect.x;

    var lenj:int;

    for(i; i < leni;i++)

    {

    j = rect.y;

    lenj = rect.y + rect.height;

    for(j;j < lenj;j++)

    {

    color = bmpd.getPixel(i,j);//0是黑色

    if(color == 0)

    {

    return true;

    }

    }

    }

    return false;

    }

  • 相关阅读:
    ubuntu挂载群晖共享文件
    200. 岛屿数量_中等_不再记笔记了
    733. 图像渲染_简单_矩阵
    46. 全排列_中等_模拟
    37. 解数独_困难_矩阵
    1041. 困于环中的机器人_中等_模拟
    946. 验证栈序列
    415. 字符串相加_简单_模拟
    164. 最大间距_数组_困难
    215. 数组中的第K个最大元素_中等_数组
  • 原文地址:https://www.cnblogs.com/kuailezoe/p/3342525.html
Copyright © 2011-2022 走看看