Unity 实现UGUI 简单拖拽吸附

获取鼠标当前点击的UI

if(RectTransformUtility.RectangleContainsScreenPoint(rectTransform, Input.mousePosition))
{
    return rectTransform.gameObject;
}

拖拽

在Update 中根据鼠标位置实时更新拖拽的图片位置。 

itemDrag.transform.position = Input.mousePosition;

判断UI是否重叠 

松开鼠标时,通过Rect.Overlaps(Rect) 判断两个UI是否重叠。

画矩形

Vector3[] fourCorner = new Vector3[4];
rectTransform.GetWorldCorners(fourCorner);
Vector2 rectRange = new Vector2(Mathf.Abs(fourCorner[2].x - fourCorner[0].x), Mathf.Abs(fourCorner[2].y - fourCorner[0].y));
return new Rect(fourCorner[0], rectRange);

判断 

rectAdsorb.Overlaps(rectDrag)
或
rectDrag.Overlaps(rectAdsorb)

吸附 

根据可吸附图片的位置设定拖拽图片的位置。

itemDrag.transform.SetParent(itemAdsorb.transform);
itemDrag.transform.localPosition = Vector3.zero;

效果

拓展 

Unity3D 随机颜色(RGB/HSV)_random.colorhsv()-CSDN博客文章浏览阅读5.7k次,点赞2次,收藏20次。Unity3D 随机颜色(RGB/HSV)前言 Unity中颜色这块儿有RGB模式和HSV模式,之前大多数用的都是RGB模式,对于颜色这块儿也没有详细的去了解。后来项目涉及到,要图片饱和度一定,且可以随机变换颜色,如下动图效果(使用RGB模式)。但是这样改的话,R、G、B三个值都在变化,不好确保它饱和度不变,只变颜色。所以,就想着用HSV模式试试看, 把颜色面板的RGB模式切换为HSV模式(如下图)..._random.colorhsv()https://blog.csdn.net/WenHuiJun_/article/details/119057959

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/772352.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows安全认证机制——Windows常见协议

一.LLMNR协议 1.LLMNR简介 链路本地多播名称解析(LLMNR)是一个基于域名系统(DNS)数据包格式的协议,使用此协议可以解析局域网中本地链路上的主机名称。它可以很好地支持IPv4和IPv6,是仅次于DNS解析的名称…

JavaFx基础知识

1.Stage 舞台 如此这样的一个框框,舞台只是这个框框,并不管里面的内容 public void start(Stage primaryStage) throws Exception {primaryStage.setScene(new Scene(new Group()));primaryStage.getIcons().add(new Image("/icon/img.png"))…

昇思25天学习打卡营第15天|ResNet50图像分类

学AI还能赢奖品?每天30分钟,25天打通AI任督二脉 (qq.com) ResNet50图像分类 图像分类是最基础的计算机视觉应用,属于有监督学习类别,如给定一张图像(猫、狗、飞机、汽车等等),判断图像所属的类别。本章将介绍使用ResN…

更改Anki笔记所应用的模板及其所属的牌组

对于Anki中的笔记,录入时总会为它指定模板以及所属的牌组,但是,如果发生教材版本变更,我们可能会用新的模板添加笔记,也会使用新的牌组,但是原来所做的笔记中也有一些完全可以继续使用,如果可以…

超详细的 C++中的封装继承和多态的知识总结<1.封装与继承>

引言 小伙伴们都知道C面向对象难,可是大家都知道,这个才是C和C的真正区别的地方,也是C深受所有大厂喜爱的原因,它的原理更接近底层,它的逻辑更好,但是学习难度高,大家一定要坚持下来呀&#xff…

【实验室精选】PFA反应瓶带鼓泡球 高效气体鼓泡 化学分析优选

PFA反应瓶带鼓泡球是一种特殊设计的实验室容器,它集成了鼓泡球和PFA(全氟烷氧基)材料的反应瓶,用于气体的鼓泡和液体的混合。以下是它的一些特点和用途: 特点: 鼓泡球设计:鼓泡球周围布满小孔&…

Unity热更方案HybridCLR+YooAsset,纯c#开发热更,保姆级教程,从零开始

文章目录: 一、前言二、创建空工程三、接入HybridCLR四、接入YooAsset五、搭建本地资源服务器Nginx六、实战七、最后 一、前言 unity热更有很多方案,各种lua热更,ILRuntime等,这里介绍的是YooAssetHybridCLR的热更方案&#xff0…

60种AI工具用法 学会探索AI的无限可能

外面还在卖的课程,学会探索AI的无限可能,从构建精准的提示词到获取个性化新闻,从快速制作PPT到短视频内容的智能提炼,再到编程、股市分析和视频剪辑,AI工具助您工作学习效率飞跃提升! 百度网盘 请输入提取…

Linux多进程和多线程(五)进程间通信-消息队列

多进程(五) 进程间通信 消息队列 ftok()函数创建消息队列 创建消息队列示例 msgctl 函数示例:在上⼀个示例的基础上,加上删除队列的代码 发送消息 示例: 接收消息示例 多进程(五) 进程间通信 消息队列 消息队列是一种进程间通信机制,它允许两个或多个…

单例模式详解:概念与实用技巧

目录 单例模式单例模式结构单例模式适用场景单例模式优缺点练手题目题目描述输入描述输出描述输入示例输出示例提示信息题解 单例模式 单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 只有一个实例的…

【深入理解Java虚拟机】判断垃圾-引用计数法及其缺陷

什么是引用计数法 引用计数法用来判断对象是否存活 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器的值加一;当引用失效时,计数器的值就减一,任何时刻计数器为0的对象是不可能在被使用的。(存…

c++类模板及应用

文章目录 为什么要有函数模板一般实现举例类模板举例 继承中类模板的使用特殊情况 友元函数模板类和静态成员类模板实践 为什么要有函数模板 项目需求: 实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double 一般实现举例 类模板举例 继承中类…

2.2 ROS2话题通信

场景 话题通信是ROS中使用频率最高的一种通信模式,话题通信是基于发布订阅模式的,也即:一个节点发布消息,另一个节点订阅该消息。话题通信的应用场景也极其广泛,比如如下场景: 机器人在执行导航功能&#…

肺炎-X光-图像分类数据集

肺炎-X光-图像分类数据集 数据集: 链接:https://pan.baidu.com/s/1bt6tf-jHqgufKqPmCFHbrQ?pwdaj54 提取码:aj54 数据集信息介绍: 文件夹 健康 中的图片数量: 1575 文件夹 新冠肺炎 中的图片数量: 1728 文件夹 普通肺炎 中的…

AI:开发者的超级助手,而非取代者

AI:开发者的超级助手,而非取代者 引言 在这个日新月异的科技时代,人工智能(AI)已悄然渗透到我们生活的方方面面,尤其是在软件开发领域,它正以一种前所未有的方式改变着我们的工作方式。作为一名…

Redis 中的通用命令(命令的返回值、复杂度、注意事项及操作演示)

Redis 中的通用命令(高频率操作) 文章目录 Redis 中的通用命令(高频率操作)Redis 的数据类型redis-cli 命令Keys 命令Exists 命令Expire 命令Ttl 命令Type命令 Redis 的数据类型 Redis 支持多种数据类型,整体来说,Redis 是一个键值对结构的,…

《数据结构与算法基础 by王卓老师》学习笔记——2.5线性表的链式表示与实现1

1.链式表示 2.链表举例 3.链式存储的相关术语 4.三个讨论题

【软件测试】之自动化测试

🏀🏀🏀来都来了,不妨点个关注! 🎧🎧🎧博客主页:欢迎各位大佬! 文章目录 什么是自动化测试Selenium介绍什么是SeleniumSelenium的特点工作原理 SeleniumJava环境搭建下载…

数学建模------Matlab数据可视化

目录 1.plot函数 (1)函数介绍 (2)参数介绍 (3)图形美化 (4)背景更改 (5)多组绘制 (6)图形叠加 (7)添加…