`
hereson
  • 浏览: 1454414 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

flex画的菱形

    博客分类:
  • flex
阅读更多

package com
{
        import mx.core.UIComponent;
        
        public class Draw extends UIComponent
        {
                private var WIDTH:int=60;
                private var HEIGHT:int=30;
                public function Draw()
                {
                        
                        drowOne();//绘制一个菱形
                        drow();//绘制多行多列菱形
                }
                public function init():void{
                        
                }
                /**
                 *         绘制20行40列 800个菱形
                 *  
                 * **/
                public function drow():void{
                        var h:int=HEIGHT/2;
                        var w:int=WIDTH/2;
                        for(var j:int=0;j<20;j++){
                                for(var i:int=0;i<40;i++){
                                        trace("helloWorld");
                                        this.graphics.moveTo(i*WIDTH,HEIGHT*j+h);
                                        this.graphics.lineStyle(1,0x52432);
                                        this.graphics.lineTo(WIDTH*i+w,HEIGHT*j);
                                        this.graphics.lineTo(WIDTH*(i+1),HEIGHT*j+h);
                                        this.graphics.lineTo(WIDTH*i+w,HEIGHT*(j+1));
                                        this.graphics.lineTo(i*WIDTH,HEIGHT*j+h);
                                        this.graphics.endFill();
                        
                                }
                        }
                }
        //绘制一行 10个菱形
//                public function drow():void{
//                        var height:int=HEIGHT/2;
//                        var width:int=WIDTH/2;
//                        for(var i:int=0;i<10;i++){
//                                this.graphics.moveTo(i*WIDTH,height);
//                                this.graphics.lineStyle(1,0x52432);
//                                this.graphics.lineTo(WIDTH*i+WIDTH/2,0);
//                                this.graphics.lineTo(WIDTH*(i+1),HEIGHT/2);
//                                this.graphics.lineTo(WIDTH*i+WIDTH/2,HEIGHT);
//                                this.graphics.lineTo(i*WIDTH,height);
//                                this.graphics.endFill();
//                        }
//                        
//                }
                /**
                 * 绘制一个 菱形,看成个长方体,取各边的中点连起来
                 * 我的方法是 左边中点--->上边中点--->右边中点----->下边中点---->左边中点
                 * 
                 * */
                public function drowOne():void{
                        var height:int=400;
                        var width:int=800;
                        this.graphics.beginFill(0x82145);
                        this.graphics.moveTo(200,300);//移动到某个点 (左边的中点)
                        this.graphics.lineStyle(1);
                        this.graphics.lineTo(200+width/2,300-height/2);//移动到上边中点
                        this.graphics.lineTo(200+width,300);//移动到右边中点
                        this.graphics.lineTo(200+width/2,300+height/2);//下边的重点
                        this.graphics.lineTo(200,300);//移动到起始点
                        this.graphics.endFill();
                }
                
                
        }
}

 

//画制网格
  //mapWidth:地图宽度
  //mapHeight:地图高度
  //tilePixelWidth:地图菱形宽度
  //tilePixelHeight:地图菱形高度
  public function drawGrid(mapWidth:int, mapHeight:int, tilePixelWidth:int, tilePixelHeight:int):void
  {
   this._mapWidth = mapWidth;
   this._mapHeight = mapHeight;
   this._tilePixelWidth = tilePixelWidth;
   this._tilePixelHeight = tilePixelHeight;
   var row:int = this._mapHeight/this._tilePixelHeight;
   var col:int = this._mapWidth/this._tilePixelWidth; 
   this._wHalfTile = int(this._tilePixelWidth/2);
   this._hHalfTile = int(this._tilePixelHeight/2); 
   trace("mapWidth : " + mapWidth);
   trace("mapHeight : " + mapHeight);
   trace("tilePixelWidth : " + tilePixelWidth);
   trace("tilePixelHeight : " + tilePixelHeight);
   trace("row : " + row);
   trace("col : " + col);
   var grid:Shape = new Shape();
   this.addChild(grid);
   
   grid.graphics.lineStyle(1, _gridLineColor, 1);
   
   var dblMapWidth:int = col*2 + 1;
   var dblMapHeight:int = row*2 + 1;
   for (var i:int=1; i<dblMapWidth; i=i+2)
   {
    
    grid.graphics.moveTo( i*this._wHalfTile, 0 );
    if (dblMapHeight+i >= dblMapWidth)
    {
     grid.graphics.lineTo( dblMapWidth*this._wHalfTile, (dblMapWidth-i)*this._hHalfTile );
    }
    else
    {
     grid.graphics.lineTo( (dblMapHeight+i)*this._wHalfTile, dblMapHeight*this._hHalfTile );
    }
   
    grid.graphics.moveTo( i*this._wHalfTile, 0 );
    if (i <= dblMapHeight)
    {
     grid.graphics.lineTo( 0, i*this._hHalfTile );
    }
    else
    {
     grid.graphics.lineTo( (i-row-1)*this._wHalfTile, dblMapHeight*this._hHalfTile );
    }
   }
   
   for (var j:int=1; j<dblMapHeight; j=j+2)
   {
  
    grid.graphics.moveTo( 0, j*this._hHalfTile );
    if (dblMapHeight-j >= dblMapWidth)
    {
     grid.graphics.lineTo( dblMapWidth*this._wHalfTile, (dblMapWidth+j)*this._hHalfTile );
    }
    else
    {
     grid.graphics.lineTo( (dblMapHeight-j)*this._wHalfTile, dblMapHeight*this._hHalfTile );
    }
   }
   
   for (var m:int=0; m<dblMapHeight; m=m+2)
   {
    grid.graphics.moveTo( dblMapWidth*this._wHalfTile, m*this._hHalfTile );
    if (dblMapWidth-dblMapHeight+m < 0)
    {
     grid.graphics.lineTo( 0, (dblMapWidth+m)*this._hHalfTile );
    }
    else
    {
     grid.graphics.lineTo( (dblMapWidth-dblMapHeight+m)*this._wHalfTile, dblMapHeight*this._hHalfTile );
    }
   }
  }
 
分享到:
评论
1 楼 sjbrising 2009-10-12  
用得着这么麻烦么?
flex不是有一个绘制椭圆的方法么,在椭圆里面的内接四边形不就是菱形么??

相关推荐

    flex成功画一个点

    在Flex编程中,"flex成功画一个点"这个主题涉及到的是如何在用户界面元素上绘制一个像素级别的点。Flex是一种基于ActionScript的开源框架,主要用于创建富互联网应用程序(RIA)。在Flex中,我们可以利用图形库或者...

    flex画板简单版

    1. 鼠标画线条:用户可以通过鼠标在画布上绘制线条,这是基本的绘图功能,允许用户自由创作。 2. 调节线条粗细:用户可以根据需求调整线条的宽度,以实现不同的视觉效果和细节表现。 3. 设置颜色:支持用户选择各种...

    flash/flex画曲线,绘图板

    "Flash/Flex画曲线,绘图板"这个主题涉及的是如何使用这些技术来创建一个允许用户自由绘制曲线的图形界面。下面将详细介绍这个知识点。 1. **Flex基础**: - Flex是Adobe提供的开源框架,主要用于构建RIA(Rich ...

    flex画线可以删除flex画线可以删除flex画线可以删除

    "flex画线可以删除"这个标题和描述可能是指在使用Flex布局时,如何通过CSS样式来实现或删除元素之间的分隔线。这里我们将深入探讨Flex布局以及如何控制其中的线条。 Flex布局(Flexible Box Layout)是CSS3引入的一...

    flex画线flex画线flex画线flex画线

    在“flex画线”的场景中,我们通常是指利用Flexbox( Flexible Box 或 Flex 布局)来创建各种线性结构,如分割线、网格线或者自定义的布局分隔。 在CSS中,`display: flex;`属性是开启Flex布局的关键。一旦一个容器...

    Flex画线(直线,折线)完美实现

    本示例“Flex画线(直线,折线)完美实现”专注于提供一种高效、灵活的方法来绘制动态直线和折线,并允许用户进行实时编辑。通过这个项目,开发者可以学习如何在Flex应用中实现这一功能,提升用户体验。 首先,Flex是...

    动画颜色flex源码

    动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色flex源码动画颜色...

    Flex画线,两点之间画线功能

    Flex 画线 两点画线 画布画线 Flex3.0 画线段

    flex画虚线代码

    在探讨“flex画虚线代码”这一主题时,我们深入解析如何利用Flex框架中的图形功能来绘制虚线,以及理解这段代码背后的核心逻辑和技术要点。Flex是一个强大的开发框架,主要用于构建跨平台的富互联网应用程序(RIA)...

    flex拖拽画矩形

    flex真是个很强大的工具,当然demo也是我们学习的主要方法,flex拖拽画矩形,很流畅的,一点不卡

    flex 动态画矩形(鼠标拖动画)

    flex动态画矩形(鼠标拖动画)提供的源码可以直接拷贝直接运行

    flex画线动画示例.txt

    根据提供的文件信息,我们可以分析出该文件主要涉及的是使用Adobe Flex技术实现的一种画线动画效果。下面将对该示例中的关键技术点进行详细解读。 ### 一、Adobe Flex简介 Adobe Flex是一个免费开源的软件框架,...

    Flex 布局变化时的动画效果解析 简单版

    Flex布局在Web开发中是一种非常重要的布局模式,它允许元素在容器中灵活地调整大小和位置,以适应不同屏幕尺寸和设备。在Flex布局发生变化时,例如元素的增删、大小调整或排列顺序改变,我们可能希望添加动画效果来...

    flex 画流程图 流程编辑

    在Flex中,画流程图是一项重要的功能,尤其在业务流程管理和系统设计中尤为常见。流程编辑器允许用户直观地设计和修改流程,这对于提高工作效率和理解复杂逻辑非常有帮助。 标题所提及的“flex 画流程图 流程编辑”...

    flex 画箭头 拖动示例

    flex画两个图片控件,用箭头把这两个连接起来,定制工作流程需要的flex技术例子。

    flex 画流程图 简单demo

    在本示例中,"flex 画流程图 简单demo" 是一个使用Flex技术来创建流程图的简单演示项目。流程图是用于表示算法、工作流程或系统操作的图形化工具,它通过各种图形元素如流程框、箭头等来直观表达步骤和决策过程。 ...

    flex 画线,并连接到物体上,

    在Flex编程中,"flex 画线,并连接到物体上" 这一主题涉及到图形绘制、事件处理和对象定位等多个核心知识点。Flex是一款基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。下面将详细介绍如何...

    利用flex画一个扇形区域

    在本文中,我们将深入探讨如何使用Flex来绘制一个扇形区域。Flex是一个强大的开发框架,主要用于构建富互联网应用程序(RIA)。在Flex中,我们可以利用ActionScript编程语言和MXML标记来实现图形绘制。 首先,我们...

    Flex 动态画直线

    在Flex编程中,动态画直线是一项基础且实用的技术,尤其在构建交互式用户界面或图形应用时。本文将深入探讨如何使用Flex实现这个功能,并基于提供的"Flex 动态画直线"主题,解释核心概念和步骤。 首先,让我们了解...

    ArcGIS Flex API和SuperMap Flex API实现的军标箭头库

    本项目聚焦于使用Flex API,一种基于Adobe Flex的开发框架,来实现军标箭头库的构建。这涉及到Web GIS应用的开发,以及如何将军事符号标准(例如北约军标)与地图服务相结合。 首先,ArcGIS Flex API是由Esri公司...

Global site tag (gtag.js) - Google Analytics