Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >unity 判断触摸坐标是否落在ui上

unity 判断触摸坐标是否落在ui上

作者头像
立羽
发布于 2023-08-24 05:26:40
发布于 2023-08-24 05:26:40
24800
代码可运行
举报
文章被收录于专栏:Unity3d程序开发Unity3d程序开发
运行总次数:0
代码可运行

1.触摸坐标转ui的GameObject的localPosition

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Vector3 uiPosGet(Vector3 pos,RectTransform rect)
    {
        Vector2 pos2D;
        RectTransformUtility.ScreenPointToLocalPointInRectangle(rect, pos, can.worldCamera, out pos2D);
        Vector3 newPos = new Vector3(pos2D.x, pos2D.y, 0);
        return newPos;
    }

2.判断newPos的长宽是否超过UI的长宽(以正方形ui示例)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/// <summary>
    /// 判断当前touch pos是否落在Collider范围内
    /// </summary>
    /// <param name="pos">触摸坐标</param>
    /// <param name="rect">joy的RectTransform</param>
    /// <returns></returns>
    bool isTouchInCollider(Vector3 pos)
    {
        bool bRet = false;
        RectTransform rect = transform as RectTransform;
        Vector3 newPos = uiPosGet(pos, rect);
        if (newPos.x >= -m_colliderRadius && newPos.x <= m_colliderRadius && newPos.y >= -m_colliderRadius &&
            newPos.y <= m_colliderRadius)
        {
            bRet = true;
        }
        return bRet;
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
unity--实现新手引导功能 一:矩形镂空功能 三、新手引导的方法封装四、事件渗透五、完善优化
2、导入shader,创建两个材质,将两个shader拖到两个材质上。将材质拖动到Image组件的Material上。
酱紫安
2021/03/16
5.6K0
unity--实现新手引导功能
    





        一:矩形镂空功能 三、新手引导的方法封装四、事件渗透五、完善优化
Unity3d+moba+UGUI摇杆
使用UGUI制作摇杆,摇杆的初始位置是可变的,当按下同时改变Bg位置和thumb位置,当松手时Bg,thumb返回初始原位。主要函数:ScreenPointToLocalPointInRectangle,Vector3.Distance。
立羽
2023/08/24
1940
Unity3d+moba+UGUI摇杆
【Unity游戏开发】UGUI不规则区域点击的实现
  马三从上一家公司离职了,最近一直在出去面试,忙得很,所以这一篇博客拖到现在才写出来。马三在上家公司工作的时候,曾处理了一个UGUI不规则区域点击的问题,制作过程中也有一些收获和需要注意坑,因此记录成博客与大家分享。众所周知在UGUI中,响应点击通常是依附在一张图片上的,而图片不管美术怎么给你切,导进Unity之后都是一个矩形,如果要做其他形状,最多只能旋转一下,或者自己做一些处理。而为了美术效果,很多时候我们不得不需要特定形状的UI,并且让它们实现精准的响应点击。例如下图就是一个不规则的点击区域。
马三小伙儿
2018/09/12
3.7K0
【Unity游戏开发】UGUI不规则区域点击的实现
Unity3d+moba+小地图
玩家行走,在UI左上角显示小地图,显示玩家所在的位置,并且实时更新。网上一般方法是用一台空中camera作为小地图投影,但是这样要响应小地图上的icon点击事件比较麻烦,为止这里使用一种新方案。
立羽
2023/08/24
3100
Unity3d+moba+小地图
【100个 Unity实用技能】☀️ | UGUI中 判断屏幕中某个坐标点的位置是否在指定UI区域内
问题使用场景:需要判断玩家此时点击的某个点是否在某个指定的UI区域内,如果在区域内则响应点击事件,不在区域内时不进行响应事件。
呆呆敲代码的小Y
2024/01/10
1.4K0
【100个 Unity实用技能】☀️ | UGUI中 判断屏幕中某个坐标点的位置是否在指定UI区域内
Unity基础(24)-UGUI
组件属性 Source Image(图像源):纹理格式为Sprite(2D and UI)的图片资源(导入图片后选择Texture Type为Sprite(2D and UI))。 Color(颜色):图片叠加的颜色。 Material(材质):图片叠加的材质,可以用来实现一些特殊效果,如凹凸感觉 Raycast Target(射线投射目标):是否作为射线投射目标,关闭之后忽略UGUI的射线检测。 Set Native Size:点击此按钮则 Image 组件的长宽自动与原图片长宽一致 Image Type(图片显示类型): Simple(基本的):图片整张全显示,不裁切,不叠加,根据边框大小会有拉伸。 Preserve Aspect(锁定比例):针对Simple模式,勾选之后,无论图片的外形放大还是缩小,都会一直保持初始的长宽比例。
孙寅
2020/06/02
4.6K0
UGUI系列-实现层级菜单(Unity3D)
层级菜单在Unity中用到的并不多,主要是做分类的时候用的比较多,今天就给大家分享几个层级代码,扩充一下,写成插件也是不错的。
恬静的小魔龙
2022/08/07
1.9K0
UGUI系列-实现层级菜单(Unity3D)
【100个 Unity实用技能】☀️ | Unity UGUI ScrollView滑动到指定位置
Unity 中在使用ScrollView的时候,有需求是需要将ScrollView定位到指定的Item上。
呆呆敲代码的小Y
2023/08/13
2.5K0
UGUI Scrollrect滚动优化:无限循环利用
在做排行榜类似界面时,item非常多,可能有几百个,一次创建这么多GameObject是非常卡的。为此,使用只创建可视区一共显示的个数,加上后置准备个数。如图所示
立羽
2023/08/24
4990
UGUI Scrollrect滚动优化:无限循环利用
Unity SKFramework框架(十四)、Extension 扩展函数
该部分是框架中使用this关键字给一些类型做的拓展函数,为了支持链式编程或记录、封装一些功能,内容会持续补充,本文给出其中部分示例。
CoderZ
2022/08/29
6470
Unity SKFramework框架(十四)、Extension 扩展函数
【100个 Unity实用技能】☀️ | Unity中 过滤透明区域的点击事件
在Unity中我们有时候会遇到一些带有透明度的图片按钮,有些时候可能并不希望点击按钮的透明区域时也触发点击事件,这个时候就要进行额外处理,下面整理了几种方法可以进行参考使用!
呆呆敲代码的小Y
2024/03/19
7590
【100个 Unity实用技能】☀️ | Unity中 过滤透明区域的点击事件
Unity3d:摇杆移动,第三人称镜头控制
两个手指都没按在UI上,取这一帧与上一帧的距离的平方差值,不能取平方根插值,多了性能消耗
立羽
2023/08/24
2780
unity3d:UGUI卷轴展开动画效果
卷轴式UI面板打开特效 思路:content用mask控制x方向大小,用dotween 两边的圆柱体同时dotween控制位置
立羽
2023/08/24
6360
unity3d:UGUI卷轴展开动画效果
Unity3d+Newbie guide引导:读CSV表驱动,屏蔽不可点击区域,UI镂空矩形区域Shader
遮罩继承ICanvasRaycastFilter 该元素可以过滤射线投射。如果顶级元素被命中,它还能进一步“检查”该位置是否有效。
立羽
2023/08/24
2600
Unity3d+Newbie guide引导:读CSV表驱动,屏蔽不可点击区域,UI镂空矩形区域Shader
unity3d:小地图UV,UGUIshader毒圈挖孔,吃鸡跑毒缩圈
给了一个方形的mask组件,然后根据玩家位置计算出地图左下角的位置进行移动。这种实现方式虽然简单,但是会有两个问题: 1.Overdraw特别大,几乎很多时候会有整个屏幕的overdraw; 2.玩家在移动过程中,因为一直在持续移动图片的位置(做了适当的降频处理),所以会一直有UI的Mesh重建过程。
立羽
2023/08/24
3250
unity3d:小地图UV,UGUIshader毒圈挖孔,吃鸡跑毒缩圈
unity3d:折线图,读取csv数据,每s生成一段线
1.读取csv表数据,点的数据随机,在3000以上 2.x方向,y方向的最大值根据表读取 3.每1s显示当前的点的数据
立羽
2023/08/24
3690
unity3d:折线图,读取csv数据,每s生成一段线
Unity3D | 经典小游戏Pacman
在学习的过程中,几个比较重要的知识点就是:预制体、克隆体、精灵渲染器、渲染层级、脚本、碰撞检测、触发检测、AI设计、UI设计、固定物理帧…
全栈程序员站长
2022/08/30
8260
Unity3D | 经典小游戏Pacman
【Unity3D】官方自带人物控制器研究
5.0.0f4版本的官方自带资源包http://pan.baidu.com/s/1o8Ujrxo
恬静的小魔龙
2020/03/10
4.7K0
Unity ugui Anchor锚点自动适配画布中的相对位置
https://blog.csdn.net/qq_39640124/article/details/88284191
汐夜koshio
2020/07/02
2.3K0
Unity ugui Anchor锚点自动适配画布中的相对位置
AR涂涂乐⭐八、(add)优化原代码“7”、正方形识别图改为矩形识别图、增加BGM和App 图标
问题1:观察前面代码可发现,屏幕的宽和高在start()时便被复制,不可改变,导致旋转屏幕高宽调转方向,代码中数值却不会改变,发生问题。
星河造梦坊官方
2024/08/14
850
推荐阅读
相关推荐
unity--实现新手引导功能 一:矩形镂空功能 三、新手引导的方法封装四、事件渗透五、完善优化
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验