usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;usingUnityEngine.UI;publicclassUIDrawLine : MonoBehaviour {publicLineRenderer line;publicCanvas canvas;privatefloatcanvasScaler;//画布的缩放比例privateList<Vector3> linePos =newList<Vector3>();//存储线的位置点privatevoidStart() { In...
void DrawLine(Vector3 start, Vector3 end) { if (!beginDraw) return; GL.PushMatrix(); GL.LoadOrtho(); lineMaterial.SetPass(0); GL.Begin(GL.LINES); GL.Vertex3(start.x, start.y, start.z); GL.Vertex3(end.x, end.y, end.z); GL.End(); GL.PopMatrix(); } 1. 2. 3. 4. 5...
Debug.DrawLine(worldPos1,worldPos2,Color.yellow); } 1. 2. 3. 4. (2)Gizmos.Draw OnDrawGizmos /OnDrawGizmosSelected里调用 =2=只在Scene窗口里显示 =3=并且不能设置材质 publicvoidOnDrawGizmosSelected(){ Gizmos.DrawLine(Vector3.zero,newVector3(0,3f,0)); } (3)Graphic.DrawMesh =1=一般在...
} lastPoint = circleGameobject;//画完连线之后,变为上一个点} }privatevoidDrawLine(Vector2 pointA, Vector2 pointB)//画线方法{GameObjectgameObject=newGameObject("line", typeof(Image));//新建一个物体包含一个Image组件gameObject.transform.SetParent(graphContainer,false);//将该图片设为graphContainer的...
Unity-UI上画线 Unity-UI上画线 前⾔ Unity中画线的实现⽅式有很多,如Debug.Draw、Gizmos.Draw、GL等,但是这些都不好在UI上画线。其实通过Line Renderer组件就可以实现在UI上画线的功能。先看⼀下效果图:实现 ⾸先介绍Line Renderer组件,,通过设置组件上Positions来达到画线的功能,⽐如我在随意画...
pos.Scale(UIScaleFactor); // 进行缩放 bloodTrans.anchoredPosition = pos; // 设置位置,当然这个bloodTrans在某个锚点在ButtonLeft的父节点下 2、定制一个雷达图控件 代码如下: using System.Collections; using UnityEngine.UI; [ExecuteInEditMode]
Debug.DrawLine(ray.origin, hit.point); GameObject gameobj = hit.collider.gameObject; //注意要将对象的tag设置成collider才能检测到 if (gameobj.tag == "collider") { Debug.Log("点击到物体了"); } } } } 最后一步,设置UI同步到鼠标点击到的位置,也就是物体的位置 ...
UI系统 Unity2D:主要基于SpriteReneder和2D物理系统等组成 UI:有Canvas以及各种UI组件组成UI的显示不基于SpriteRenender UI系统的组成 Canvas:画布,UI的根节点;可以有多个 Event System:事件系统,基于这个才可让按钮可以点击 Image/Text等各种组件:具体的功能组件,希纳是一个图片,制作一个按钮等 ...
}privatevoidDrawLine(Vector2 pointA, Vector2 pointB)//画线方法{GameObjectgameObject=newGameObject("line", typeof(Image));//新建一个物体包含一个Image组件gameObject.transform.SetParent(graphContainer,false);//将该图片设为graphContainer的子物体//就是在画板内画线RectTransformrectTransform=gameObject.GetCom...
DrawAxis(vh); DrawLine(vh); return vh; } } 组件多样化(工厂模式) 通过上一篇Unity自定义UI组件(十) 折线图中讲解工厂模式,所以在多样化操作中依旧使用工厂模式 工厂模式的使用 public class RadarFactory1 : BaseRadarFactory { // 重写父类方法