首页 > 编程知识 正文

ug草图矩形不是一个整体,ppt如何画不规则多边形

时间:2023-05-04 05:39:43 阅读:137220 作者:4749

需求:经常需要动态绘制不规则图形,例如填充雷达图和折线图

继承33558www.Sina.com/UGUI的MaskableGraphic类,重写OnPopulateMesh方法,进行图形的绘制。 由于绘制的原理是三角面的绘制,在传递顶点坐标参数时,要注意覆盖各三角面

代码如下所示。

using system.collections.generic; using UnityEngine; using UnityEngine.UI; publicclassuidrawimage : maskablegraphic { publicclasstrianglepoint } public vector3point 0; 公共vector3point 1; 公共vector3point 2; } publiclisttrianglepointpoints=newlisttrianglepoint (; publicvoidaddata(vector3P0,Vector3 p1,Vector3 p2 ) points.add ) newtrianglepoint () point0=P0,point1=p1,point1 }public void Clear () {points.Clear ); this.Refresh (; }public void Refresh () {this.SetAllDirty ); } protectedoverridevoidonpopulatemesh (vertexhelpervh ) if (points==null|| points.count==0) base.onpopulater rete (}vh.Clear ); 原始图像(VH ); //图privatevoiddrawiamge (vertexhelpervh ) {int length=points.Count; for(intI=0; i length; I ) ) this.drawtriangle(VH,points[i],I ); }//summary//画三角面////summaryprivatevoiddrawtriangle (vertexhelpervh,TrianglePoint p,int index ) VH.add veer VH . VH.addvert(p.point2,color,Vector2.zero ); VH.add triangle (索引* 3、索引*31、索引*32 ); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。