let bg = this.createBitmapByName("123_png");
    this.addChild(bg)
    bg.x = this.stage.width / 2
    bg.y = this.stage.height / 2
    bg.anchorOffsetX = bg.width / 2
    bg.anchorOffsetY = bg.height / 2
    let infoList = [5, 2, 7, 9, 4, 1]
    let list = this.getPolyPoint(infoList, bg)

    var shp: egret.Shape = new egret.Shape();
    shp.graphics.lineStyle(2, 0x00ff00);
    shp.graphics.beginFill(0xff0000, 1)

    for (let i in list) {
        if (Number(i) == 0)
            shp.graphics.moveTo(list[i].x, list[i].y);
        else
            shp.graphics.lineTo(list[i].x, list[i].y);
    }

    shp.graphics.endFill();
    this.addChild(shp)

    for (let i in list) {
        var circle:egret.Shape = new egret.Shape();
        circle.graphics.beginFill( 0x00ff00, 1);
        circle.graphics.drawCircle( list[i].x, list[i].y, 5);
        circle.graphics.endFill();
        this.addChild(circle);
    }

public getPolyPoint(infoList, item){
        let list = []

        let x = this.stage.width / 2
        let y = this.stage.height / 2

        for (let i = 1; i <= 7; i++) {
            let info = infoList[i - 1]
            if (info == undefined)
                info = infoList[0]

            let point = new egret.Point
            let w = item.width / 2 * (info * 0.1)
            let h = item.height / 2 * (info * 0.1)
            let w1 = w / 2

            switch (i) {
                case 2:
                    point.x = x + w1
                    point.y = y - h
                    break
                case 3:
                    point.x = x + w
                    point.y = y
                    break
                case 4:
                    point.x = x + w1
                    point.y = y + h
                    break
                case 5:
                    point.x = x - w1
                    point.y = y + h
                    break
                case 6:
                    point.x = x - w
                    point.y = y
                    break
                default:
                    point.x = x - w1
                    point.y = y - h
                    break
            }

            list.push(point)
        }

        return list
    }

ts 绘制多边形的更多相关文章

  1. 用线框模式绘制多边形 glPolygonMode

    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glBegin(GL_TRIANGLES);//开始以g_ViewMode模式绘制 glColor3ub(182. ...

  2. [WebGL入门]十四,绘制多边形

    注意:文章翻译http://wgld.org/.原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外,鄙人webgl研究还不够深入.一些专业词语,假设翻译有误,欢迎大家 ...

  3. canvas绘制多边形

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. leaflet简单例子,绘制多边形

    var crs = L.CRS.EPSG900913; var map = L.map('map', { crs: crs, width: '100%', height: '100%', maxZoo ...

  5. 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形(转)

    [Silverlight]Bing Maps学习系列(五):绘制多边形(Polygon)图形 Bing Maps Silverlight Control支持用户自定义绘制多边形(Polygon)图形, ...

  6. 浅谈使用canvas绘制多边形

    本文主要使用坐标轴的使用来绘制多边形,点位则都是在y轴上寻找,这种方法能够更好的理解图形与修改. //id为html里canvas标签的属性id: //x,y为坐标轴的起始位置,因为canvas默认坐 ...

  7. JS实现鼠标点击爱心&绘制多边形&每日一言功能

    本篇文章主要介绍我的个人博客 程序猿刘川枫 中页面使用的美化功能(基于JS实现): 1.鼠标点击出现不同颜色爱心特效 2.页面浮动多边形跟随鼠标移动 3.每日一言功能 1.鼠标点击出现爱心特效 经常在 ...

  8. [javascript svg fill stroke stroke-width points polygon属性讲解] svg fill stroke stroke-width points polygon绘制多边形属性并且演示polyline和polygon区别讲解

    <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title ...

  9. Unity 绘制多边形

    最近工程需要用到一个多边形用来查看角色属性,于是就研究了下Mesh用网格做了一个.遗憾的的 UGUI 渲染不了 3D 物体,然后又用了一段时间研究了下UGUI的网格绘制. 不过终于还是完成了,虽然有些 ...

随机推荐

  1. string permutation with upcase and lowcase

    Give a string, which only contains a-z. List all the permutation of upcase and lowcase. For example, ...

  2. 盒子模型 W3C中和IE中盒子的总宽度分别是什么

    W3C盒模型 总宽度 = margin-left + border-left + padding-left + width + padding-right + border-right + margi ...

  3. 《C++ Primer Plus》15.1 友元 学习笔记

    15.1.1 友元类假定需要编写一个模拟电视机和遥控器的简单程序.决定定义一个Tv类和一个Remote类,来分别表示电视机和遥控器.遥控器和电视机之间既不是is-a关系也不是has-a关系.事实上,遥 ...

  4. jquery单选框radio绑定click事件实现和是否选中的方法

    使用jquery获取radio的值,最重要的是掌握jquery选择器的使用,在一个表单中我们通常是要获取被选中的那个radio项的值,所以要加checked来筛选,比如有以下的一些radio项: 1. ...

  5. Linux 2.6.16 TCP连接速度异常的问题分析

    版权声明:本文由余子军原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/104 来源:腾云阁 https://www.qclo ...

  6. 使用MAT分析Java内存

    Overview MAT(Memory Analyzer Tool) 是一个JAVA Heaper分析器,可以用来分析内存泄露和减少内存消耗.分析Process showmap中的/dev/ashme ...

  7. ehcache加载配置文件ehcache.xml的源码

    package net.sf.ehcache.config; public final class ConfigurationFactory { public static Configuration ...

  8. github(其他类似github)下载到本地配置

    首先是先装完插件,低版本的myeclipse要自己装插件, 如何使window->show view->other找到git 注意是选第二个... 然后next->next-> ...

  9. CentOS 目录结构详解

     linux 目录结构 linux目录树 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中/bin:/usr/bin: ...

  10. C#知识

    2018年10月29日 1.类可以定义的位置: (1)单独定义一个class,在program类的同一个文件内 (2)单独定义一个class,在program类的不同一个文件内 (3)类内定义clas ...