阅读UGUI源码 一
来源:互联网 发布:刀具寿命如何编程 编辑:程序博客网 时间:2024/05/17 07:05
显示一张图片,并给图片添加交互
创建空物体,添加组件
代码
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class MyImage : MonoBehaviour { VertexHelper vertexHelper = new VertexHelper(); private Mesh mesh; public Color color; private MeshFilter meshFilter; private MeshRenderer meshRenderer; private MeshCollider meshCollider; public Texture2D texture2D; public Camera MainCamera; private MeshFilter MeshFilter { get { if (meshFilter == null) meshFilter = GetComponent<MeshFilter>(); return meshFilter; } } private MeshRenderer MeshRenderer { get { if (meshRenderer == null) meshRenderer = GetComponent<MeshRenderer>(); return meshRenderer; } } private MeshCollider MeshCollider { get { if(meshCollider==null) meshCollider = GetComponent<MeshCollider>(); return meshCollider; } } // Use this for initialization void Start () { InitMesh(); } // Update is called once per frame void Update () { //碰撞检测 var ray = MainCamera.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; Physics.Raycast(ray, out hitInfo); if(hitInfo.collider!=null&&hitInfo.collider.gameObject!=null) { if(Input.GetMouseButtonDown(0)) { Debug.Log("Image Clicked"); } } Debug.DrawLine(ray.origin, ray.origin + ray.direction*100, Color.red); MeshRenderer.material.color = color; MeshRenderer.material.mainTexture = texture2D; } //绘制图片 private void InitMesh() { mesh = new Mesh(); vertexHelper.Clear(); vertexHelper.AddVert(new Vector2(0,0), color, new Vector2(0,0)); vertexHelper.AddVert(new Vector2(0,1), color, new Vector2(0,1)); vertexHelper.AddVert(new Vector2(1,1), color, new Vector2(1,1)); vertexHelper.AddVert(new Vector2(1,0), color, new Vector2(1,0)); vertexHelper.AddTriangle(0, 1, 2); vertexHelper.AddTriangle(2, 3, 0); vertexHelper.FillMesh(mesh); MeshFilter.mesh = mesh; MeshCollider.sharedMesh = mesh; } }
效果
阅读全文
0 0
- 阅读UGUI源码 一
- 阅读UGUI源码 零
- Unity UGUI图文混排源码(一)
- live555源码阅读一
- nginx源码阅读(一)
- TCMalloc源码阅读(一)
- TCMalloc源码阅读(一)
- 源码阅读(一)
- Sring源码阅读一
- OSCache源码阅读(一)
- Log4j源码阅读一
- 源码阅读(一)
- pg源码阅读一
- STL源码阅读(一)
- FreeRTOS源码阅读(一)
- flask源码阅读一
- Glide源码阅读一
- 阅读XRecyclerView源码一
- nodejs 全局变量-global
- Linux下查看内核、CPU、内存及各组件版本的命令和方法
- 哎哎哎
- 添加 展示 清空
- 使用Python收集获取Linux系统主机信息
- 阅读UGUI源码 一
- 爬取豆瓣所有电影
- 周志华机器学习读书笔记第二章(一)
- Spring学习笔记: Spring概述
- jquery使用
- ConfigReader(一)—— MapConfig
- 素数
- 在mac上配置tomcat并用终端启动
- Struts2中的属性驱动和模型驱动