当前位置: 首页 > news >正文

unity image 画线

public class Drawing : MonoBehaviour, IPointerDownHandler, IDragHandler

{

public Image m_Image; //画线的Image

protected Vector2 rectA; //起点

protected Vector2 rectB; //终点

protected float offsetX = Screen.width / 2;

protected float offsetY = Screen.height / 2;

protected RectTransform line;

public void OnPointerDown(PointerEventData eventData)

{

Debug.LogWarning($"x:{eventData.position.x},y:{eventData.position.y}");

Debug.LogWarning($"x:{Screen.width},y:{Screen.height}");

Vector2 startPoint = new Vector2(

eventData.position.x - offsetX,

eventData.position.y - offsetY

);

rectA = startPoint;

if (line == null)

{

var image = Instantiate(m_Image);

image.transform.SetParent(m_Image.transform.parent);

line = image.GetComponent<RectTransform>();

}

}

public void OnDrag(PointerEventData eventData)

{

Vector2 endPoint = new Vector2(

eventData.position.x - offsetX,

eventData.position.y - offsetY

);

rectB = endPoint;

DrawLine(line, rectA, rectB);

}

void DrawLine(RectTransform rect, Vector2 a, Vector2 b)

{

float distance = Vector2.Distance(a, b); // distance

float angle = Vector2.SignedAngle(a - b, Vector2.left); // angle

rect.anchoredPosition = (a + b) / 2;

rect.sizeDelta = new Vector2(distance, 10);

rect.transform.localRotation = Quaternion.AngleAxis(-angle, Vector3.forward);

}

}

http://www.jsqmd.com/news/643880/

相关文章:

  • 京东e卡回收靠谱吗?避坑指南和高效回收策略! - 团团收购物卡回收
  • 告别密码:VSCode + OpenSSH实现Windows服务器一键免密登录
  • Cosmos-Reason1-7B在复杂网络协议分析中的应用场景
  • 不止是打漏洞!红队演练≠渗透测试,红蓝对抗核心价值深度解析
  • 终极OBS多平台直播指南:obs-multi-rtmp插件快速上手
  • Qwen-Image-2512-ComfyUI效果展示:高清图像生成案例与参数设置分享
  • 代码自动化测试
  • 实测DeepSeek-OCR-WEBUI:中文识别精准,复杂背景也能搞定
  • 华硕笔记本终极控制方案:如何用GHelper实现10倍性能优化
  • 2026年预制直埋保温管选购指南,推荐口碑好的机构 - 工业品网
  • Sunshine游戏串流终极指南:快速搭建免费自托管游戏串流服务器
  • 如何彻底告别Armoury Crate臃肿问题:GHelper华硕笔记本控制工具完整教程
  • 万物识别-中文镜像开源价值:完全兼容ModelScope生态,支持模型在线更新
  • WeChatExporter:终极微信聊天记录永久保存与数据备份开源解决方案
  • 拆解红外感应灯:除了NE555,光敏电阻和LM358运放是如何实现‘白天不亮晚上亮’的?
  • 选购预制直埋保温管,大型厂家推荐及运输方式、行业地位全解析 - 工业设备
  • 罗技鼠标宏绝地求生自动压枪脚本:3分钟快速配置终极指南
  • 2026必备指南:学生如何快速降AI,有效降低AI率不过30% - 降AI实验室
  • 保姆级教程:万物识别中文通用领域模型完整操作流程
  • AudioLDM-S保姆级教程:Gradio界面操作+Prompt调试+音频导出全流程
  • 可靠的装饰公司分享,细聊广西南宁星美之家装饰口碑和设计水平咋样 - 工业推荐榜
  • Spring Boot 4.8 新特性:构建更现代的 Java 应用
  • ncmdumpGUI终极指南:三步魔法解锁网易云音乐NCM格式
  • 别再盲目微调大模型了:2026年企业AI项目,RAG、Aget、微调到底该怎么选?
  • yz-bijini-cosplayRTX 4090专属优化:TensorRT加速集成可行性分析
  • 在Windows 11上开启Android应用新纪元:Windows Subsystem for Android完全指南
  • Vue3 + OpenLayers(OL) 加载天地图超详细教程(新手友好|可直接复制运行)
  • 视频PPT提取终极指南:三步将视频幻灯片转为PDF文档
  • 探讨高脱锌率兆声波清洗设备,国产品牌哪个口碑好 - mypinpai
  • 从弗兰克-赫兹实验到量子游戏:用Python模拟电子与原子的‘碰撞’与能级跃迁