我软件中的需求是,鼠标点击二维界面的位置要生成两个点,然后要在两个点直接连线。因此,我在我函数中传入两个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界面画线相关推荐

  1. Unity中UI界面颤抖解决方法

    Unity中UI界面颤抖解决方法 参考文章: (1)Unity中UI界面颤抖解决方法 (2)https://www.cnblogs.com/Study088/p/7290909.html 备忘一下.

  2. 【游戏开发实战】TapTap物理画线游戏,教你使用Unity实现2D物理画线功能,看到我为你画的彩虹了吗

    文章目录 一.前言 二.思考 三.验证我们的思考 1.创建物体挂组件 2.设置组件参数 3.运行测试 4.结论 四.撸起袖子写代码 1.Line.cs 2.LinesDrawer.cs 五.场景 六. ...

  3. unity中ui界面介绍

    unity中ui界面的介绍 ui 又称gui,它比较适合做一些简单的界面. 可以在层级视图中右键单击就会出现很多选项卡,其中有一个就是ui单击就会出现如上图片中的内容 1.text: 这就是一个文本输 ...

  4. unity中UI界面的一些动画实现总结

    在做unity的ui界面的时候,美术通常会实现一些动画效果.这里列举几个: 1.位置的变化 2.旋转的变化 3.缩放的变化 4.alpha的变化 5.颜色的变化 我们举一个例子: 位置的变化: (1) ...

  5. Unity在Canvas上画线(Draw Line)实现

    # 前言 目前Unity官方提供的UI扩展包中包含了UILineRenderer组件,本篇实现与UILineRenderer实现一致,主要讲解其基本使用与实现过程.不想看的同学可以直接下载官方扩展包. ...

  6. Unity入门——UI界面

    UI是在游戏上的显示页面,是让一些设置和数据在一些特定的地方摆放着,创建一个UI界面,要在 Hierarchy 中右键单击一个空白位置,或使用 Hierarchy 顶部的 Create 按钮,然后选择 ...

  7. Unity 使用LineRenderer做画线游戏

    前段时间公司要求做一款画线游戏,经历了许多坑之后,最终确定使用LineRenderer来做,然后又是一系列的坑,好在最后还是做出来了,给大家分享下代码: using System.Collection ...

  8. Unity:SLG游戏画线模块

    最近学Shader有点心得,做了一个SLG画线模块.github地址:https://github.com/871041532/SLGDrawLine 性能有能再提高的地方,欢迎大佬指点. 1.介绍 ...

  9. TapTap物理画线游戏,使用Unity实现2D物理画线功能

    实现效果如下: 本工程已上传到GitHub,感兴趣的同学可自行下载学习. GitHub地址:https://github.com/linxinfa/UnityPhysicsDrawLine 物理画线的 ...

最新文章

  1. 自建html网页,幽灵自建的html5 的模板文件!
  2. 电气接线+线号管正确方向=电工接线好习惯!你有吗?
  3. 计算机主机接线视频教程,电脑主板跳线怎么接?电脑机箱与主板跳线接法图解教程...
  4. JAVA中的内部类(二)成员内部类
  5. 论 js中:(class、id)出乎意料的优先级?- 案例篇
  6. linux shell转换时间格式,在bash中转换日期格式
  7. list 转set_MapStruct高级用法:List和String互转
  8. 【杂谈】excel列表创建后,怎么删除蓝色边框线?
  9. Swift For TensorFlow终于开源,但先别急着用
  10. github git clone ssh协议 clone超慢解决方案,提高Github Clone速度
  11. matplotlib.colors(ListedColormap)
  12. java 象棋 论文_java象棋论文
  13. 一个普通前端的2022年终总结:多病的一年
  14. web 前端签名插件_signature_pad插件实现电子签名功能
  15. C语言提高代码效率的几种方法,7个提升嵌入式C代码效率的方法-嵌入式系统-与非网...
  16. MySQL并发insert因唯一键导致的DeadLock
  17. 你做的数据运营,90%都是无用功
  18. JavaWeb09(新闻数据分页)
  19. 百度地图之鼠标绘制工具条库(开源库)
  20. 大学html5毕业设计任务书,2021届本科生毕业设计(论文)工作的通知

热门文章

  1. Jmeter设置全局与局部变量
  2. 抖音月涨百万粉的风景类账号,是用软件轻松制作的
  3. 如何在excel中创建斐波那契数列
  4. brew update 太慢 Homebrew换源
  5. 大学物理上册详细笔记_张三慧大学物理学笔记和教材习题答案
  6. 游戏小创业团队最终的结局
  7. Mysql创建远程登陆用户。
  8. 前腾讯T3资深工程师整理合集(1)
  9. 软件业的就业问题和八点建议
  10. 14天阅读挑战赛(神奇的兔子数列)