unity在UI界面画线
我软件中的需求是,鼠标点击二维界面的位置要生成两个点,然后要在两个点直接连线。因此,我在我函数中传入两个GameObject(需要连线的两个点),然后返回出线的长度和需要旋转的方向。(PS:我的线是挂在第一点下的子物体,用image直接形成的,线的尺寸如下图)
画线代码如下:
public void drawLine(GameObject ICO1, GameObject ICO2, out double length, out double angel){Vector2 position1 = ICO1.transform.localPosition;Vector2 position2 = ICO2.transform.localPosition;float xValue = 0, yValue = 0;if ((position1.x > 0 && position2.x > 0) || (position1.x < 0 && position2.x < 0))xValue = Mathf.Abs(position1.x - position2.x);elsexValue = Mathf.Abs(position1.x) + Mathf.Abs(position2.x);if ((position1.y > 0 && position2.y > 0) || (position1.y < 0 && position2.y < 0))yValue = Mathf.Abs(position1.y - position2.y);elseyValue = Mathf.Abs(position1.y) + Mathf.Abs(position2.y);length = Mathf.Sqrt(xValue * xValue + yValue * yValue);if (position1.x <= position2.x && position1.y <= position2.y)angel = -90 + Mathf.Atan(yValue / xValue) / Mathf.PI * 180;else if (position1.x >= position2.x && position1.y <= position2.y)angel = 90 - Mathf.Atan(yValue / xValue) / Mathf.PI * 180;else if(position1.x >= position2.x && position1.y >= position2.y)angel = 90 + Mathf.Atan(yValue / xValue) / Mathf.PI * 180;elseangel = -90 - Mathf.Atan(yValue / xValue) / Mathf.PI * 180;}
最后画出图的效果如下:
unity在UI界面画线相关推荐
- Unity中UI界面颤抖解决方法
Unity中UI界面颤抖解决方法 参考文章: (1)Unity中UI界面颤抖解决方法 (2)https://www.cnblogs.com/Study088/p/7290909.html 备忘一下.
- 【游戏开发实战】TapTap物理画线游戏,教你使用Unity实现2D物理画线功能,看到我为你画的彩虹了吗
文章目录 一.前言 二.思考 三.验证我们的思考 1.创建物体挂组件 2.设置组件参数 3.运行测试 4.结论 四.撸起袖子写代码 1.Line.cs 2.LinesDrawer.cs 五.场景 六. ...
- unity中ui界面介绍
unity中ui界面的介绍 ui 又称gui,它比较适合做一些简单的界面. 可以在层级视图中右键单击就会出现很多选项卡,其中有一个就是ui单击就会出现如上图片中的内容 1.text: 这就是一个文本输 ...
- unity中UI界面的一些动画实现总结
在做unity的ui界面的时候,美术通常会实现一些动画效果.这里列举几个: 1.位置的变化 2.旋转的变化 3.缩放的变化 4.alpha的变化 5.颜色的变化 我们举一个例子: 位置的变化: (1) ...
- Unity在Canvas上画线(Draw Line)实现
# 前言 目前Unity官方提供的UI扩展包中包含了UILineRenderer组件,本篇实现与UILineRenderer实现一致,主要讲解其基本使用与实现过程.不想看的同学可以直接下载官方扩展包. ...
- Unity入门——UI界面
UI是在游戏上的显示页面,是让一些设置和数据在一些特定的地方摆放着,创建一个UI界面,要在 Hierarchy 中右键单击一个空白位置,或使用 Hierarchy 顶部的 Create 按钮,然后选择 ...
- Unity 使用LineRenderer做画线游戏
前段时间公司要求做一款画线游戏,经历了许多坑之后,最终确定使用LineRenderer来做,然后又是一系列的坑,好在最后还是做出来了,给大家分享下代码: using System.Collection ...
- Unity:SLG游戏画线模块
最近学Shader有点心得,做了一个SLG画线模块.github地址:https://github.com/871041532/SLGDrawLine 性能有能再提高的地方,欢迎大佬指点. 1.介绍 ...
- TapTap物理画线游戏,使用Unity实现2D物理画线功能
实现效果如下: 本工程已上传到GitHub,感兴趣的同学可自行下载学习. GitHub地址:https://github.com/linxinfa/UnityPhysicsDrawLine 物理画线的 ...
最新文章
- 自建html网页,幽灵自建的html5 的模板文件!
- 电气接线+线号管正确方向=电工接线好习惯!你有吗?
- 计算机主机接线视频教程,电脑主板跳线怎么接?电脑机箱与主板跳线接法图解教程...
- JAVA中的内部类(二)成员内部类
- 论 js中:(class、id)出乎意料的优先级?- 案例篇
- linux shell转换时间格式,在bash中转换日期格式
- list 转set_MapStruct高级用法:List和String互转
- 【杂谈】excel列表创建后,怎么删除蓝色边框线?
- Swift For TensorFlow终于开源,但先别急着用
- github git clone ssh协议 clone超慢解决方案,提高Github Clone速度
- matplotlib.colors(ListedColormap)
- java 象棋 论文_java象棋论文
- 一个普通前端的2022年终总结:多病的一年
- web 前端签名插件_signature_pad插件实现电子签名功能
- C语言提高代码效率的几种方法,7个提升嵌入式C代码效率的方法-嵌入式系统-与非网...
- MySQL并发insert因唯一键导致的DeadLock
- 你做的数据运营,90%都是无用功
- JavaWeb09(新闻数据分页)
- 百度地图之鼠标绘制工具条库(开源库)
- 大学html5毕业设计任务书,2021届本科生毕业设计(论文)工作的通知