Unity UGUI 之 坐标转换

news2024/9/22 10:04:33
本文仅作学习笔记与交流,不作任何商业用途

本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正

本文在发布时间选用unity 2022.3.8稳定版本,请注意分别

前置知识:Unity UGUI 之 事件接口-CSDN博客 

Unity UGUI 之 事件触发器-CSDN博客

屏幕坐标转UI坐标

Q:首先他是干什么的?

A:可以点击,触摸,拖拽UI

Q:那我用事件触发器也可以实现啊!

A:这就是事件触发器下的小知识,可以将其理解为事件触发器中的一个辅助函数

不然你自己写拖拽逻辑也行,不过用轮子岂不是更快更好更省力

RectTransformUtility - Unity 脚本 API

注意看倒数第二个方法,用于将屏幕的位置转为UI位置(矩形平面位置)RectTransformUtility-ScreenPointToLocalPointInRectangle - Unity 脚本 API

 举个栗子:

我屏幕上有的:

 

我写的代码: 

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.EventSystems;

public class 坐标转换 : MonoBehaviour,IDragHandler
{
    public RectTransform canvasRectTransform;
    //以拖拽接口为例
    public void OnDrag(PointerEventData eventData) {

        Vector2 UIposition;
        //屏幕坐标转Rect坐标 注意四个参数
        RectTransformUtility.ScreenPointToLocalPointInRectangle
           (
           canvasRectTransform,//1.你要在什么上面拖拽就填写谁的RectTransform
           eventData.position,//2.屏幕位置
           eventData.pressEventCamera,//3.触发当前事件的相机(Camera)对象
           out UIposition//最后UI的位置
           );
            {
            this.transform.localPosition = UIposition;
        }

    }
}

实际效果: 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

混凝土做的风机?风领新能源推出钢-超高性能混凝土体内预应力塔筒

随着全球能源结构的转型和技术的不断进步,陆上风电行业已正式迈入平价时代。这一里程碑式的转变不仅降低了风电项目的投资门槛,更激发了行业对于机组大型化的热情与追求。在这样的市场下,主流风机制造商纷纷推出10MW平台级别机组,…

VLAN通讯实验

目录 拓扑图 需求 需求分析 配置过程 1、手工配置 2、 使用DHCP获得IP地址信息 3、测试全网是否可达 拓扑图 需求 1、PC1、PC3属于VLAN 2 2、PC2、PC4属于VLAN 3 3、通过DHCP使得PC获取IP地址信息 4、全网可达 需求分析 1、先手工配置网段,VLAN 2为192.168.1…

杭州东网约车管理再出行方面取得的显著成效

随着科技的飞速发展,网约车已成为人们日常出行的重要选择。在杭州这座美丽的城市,网约车服务更是如雨后春笋般蓬勃发展。特别是杭州东站,作为杭州的重要交通枢纽,网约车管理显得尤为重要。近日,沧穹科技郑重宣告已助力…

【iOS】 消息传递和消息转发

消息传递和消息转发 objc_msgSend执行流程消息发送动态方法解析消息转发super面试题 objc_msgSend执行流程 OC中的方法调用,其实都是转化为objc_msgSend函数调用,objc_msgSend的执行流程可以分为3大阶段 消息发送 动态方法解析 消息转发 消息发送 消…

情绪稳定的人有什么特点?

第一部分:至纯之人,大器晚成 1.1 单纯,不是天真 你知道吗?那些能够成就大事的人,往往在人性上非常单纯。他们对外界的需求很低,更多的是向内寻求。这样的人,他们的内心世界像一片净土&#xff…

Internet Download Manager(IDM)6.43免费试用体验版下载

1. Internet Download Manager(IDM)是一款功能强大的下载管理器,能够将下载速度提高多达5倍。 2. IDM具备多线程下载、断点续传、自动捕获链接等特性。 IDM马丁正版下载如下: https://wm.makeding.com/iclk/?zoneid34275 idm最新绿色版一…

HarmonyOS 核心功能:一多特性

简述定义和目标,分述界面级(核心)、功能级、工程级的一多开发 定义: 一套代码,一次开发,多端按需部署 目标:支持开发者快速开发多设备上的应用 一 界面级一多开发(重点&#xf…

宝塔单ip,新建多站点

报错如上: 那么如何新建多站点呢 先随便写个名字上去,然后再重新绑定别的端口… 这个时候访问99端口即可 。 如果是有域名,则不需要这样做 、直接80端口也可以多站点

FPGA:有限状态机

从以下6个实验理解状态机的概念 开发板频率为 50 M H z 50MHz 50MHz,一个时钟周期是 20 n s 20ns 20ns。 1、实验一:LED灯亮0.25秒、灭0.75秒的状态循环 通过之前的分析,我们实现频闪灯时,是让led灯在0.5秒实现一次翻转,而这里…

《Cross-Modal Dynamic Transfer Learning for Multimodal Emotion Recognition》

Multi-modal系列论文研读目录 文章目录 Multi-modal系列论文研读目录1.ABSTRACT2.INDEX TERMS3.INTRODUCTION4.RELATED WORKSA. MULTIMODAL EMOTION RECOGNITION 多模态情感识别1) CONVENTIONAL FUSION METHODS 常规融合方法2) TRANSFORMER-BASED FUSION METHODS 基于变压器的融…

Redis (常用数据结构和命令)

目录 简介 概述 特点 数据结构 常用命令 通用命令 keys del exists expire 与 ttl String 命令 SET 和GET: MSET和MGET INCR和INCRBY和DECY SETNX SETEX Redis 命令 Key 的层级结构 key层级关系 : Hash命令 HSET和HGET HMSET和HMGET HGETALL H…

MySQL练手 --- 1141. 查询近30天活跃用户数

题目链接:1141. 查询近30天活跃用户数 思路: 题目要求:统计截至 2019-07-27(包含2019-07-27),近 30 天的每日活跃用户数(当天只要有一条活动记录,即为活跃用户) 要计算…

前端模块化CommonJS、AMD、CMD、ES6

在前端开发中,模块化是一种重要的代码组织方式,它有助于将复杂的代码拆分成可管理的小块,提高代码的可维护性和可重用性。CommonJS、AMD(异步模块定义)和CMD(通用模块定义)是三种不同的模块规范…

H3CNE(OSPF动态路由)

目录 7.1 静态路由的缺点与动态路由分类 7.1.1 静态路由的缺点 7.1.2 动态路由的分类 7.2 OSPF基础 7.2.1 OSPF的区域 ​编辑 7.2.2 Router-id 7.2.3 开销-Cost or Metric 7.2.4 路由转发 7.3 OSPF邻居表建立过程 7.3.1 五种包 7.3.2 建立邻居表的第一步 7.3.3 邻居建立…

数据结构与算法--顺序表(Java)

📝个人主页🌹:誓则盟约 ⏩收录专栏⏪:Java SE 🤡往期回顾🤡:Java SE--基本数据类型(详细讲解) 🌹🌹期待您的关注 🌹🌹 什么…

前端养成记-实现一个低配版简单版本的vue3表单自定义设计组件

简介: 通过使用了最新的vue3,vite2,TypeScript等主流技术开发,并配合使用vuedraggable 插件以及antd design vue 组件库实现低配版本的自定义表单设计组件; 项目地址:https://gitee.com/hejunqing/vue3-antdv-generator

GLSL教程 第8章:几何着色器

目录 8.1 几何着色器的介绍 几何着色器的主要功能: 几何着色器的工作流程: 8.2 实现基本的几何变换 示例:将三角形扩展成多个三角形 8.3 几何着色器的高级应用 1. 粒子系统 2. 光晕效果 3. 线框模型 小结 几何着色器是图形管线中的一…

Linux——管理本地用户和组(详细介绍了Linux中用户和组的概念及用法)

目录 一、用户和组概念 (一)、用户的概念 (二)、组的概念 补充组 主要组 二、获取超级用户访问权限 (一)、su 命令和su -命令 ( 二)、sudo命令 三、管理本地用户账户 &…

Java面试八股之什么是声明式事务管理,spring怎么实现声明式事务管理?

什么是声明式事务管理,spring怎么实现声明式事务管理? 声明式事务管理是一种编程范式,它允许开发人员通过声明性的配置或注解,而不是硬编码事务处理逻辑,来指定哪些方法或类应该在其上下文中执行事务。这种方法将事务…

Kadane 算法 | 53. 最大子数组和 + 918. 环形子数组的最大和

目录 1 维基百科2 53. 最大子数组和2.1 代码思路2.2 完整代码 3 918. 环形子数组的最大和3.1 代码思路3.2 完整代码 1 维基百科 最大子数组问题 在计算机科学中,最大子数组问题的目标是在数组的一维方向找到一个连续的子数组,使该子数组的和最…