Unity实现文本点击事件

这篇具有很好参考价值的文章主要介绍了Unity实现文本点击事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面的一些碎碎念:
好久没有来写文章了,主要是这一两年找了一份不错的工作,进入了舒适区,工作上的功能没有什么创新,都是以前做过的功能。这不,最近开发一款类似传奇的手游,需要实现聊天栏文字点击的效果,今天就来分享一下。
直接上代码,组件用的是TextMeshPro

using UnityEngine;
using UnityEngine.EventSystems;
using TMPro;

public class TextClick : MonoBehaviour, IPointerClickHandler
{
    private TextMeshProUGUI m_TextMeshPro;
    private Canvas m_Canvas;
    private Camera m_Camera;

    void Awake()
    {
        m_TextMeshPro = gameObject.GetComponent<TextMeshProUGUI>();
        m_Canvas = gameObject.GetComponentInParent<Canvas>();
        // Get a reference to the camera if Canvas Render Mode is not ScreenSpace Overlay.
        if (m_Canvas.renderMode == RenderMode.ScreenSpaceOverlay)
            m_Camera = null;
        else
            m_Camera = m_Canvas.worldCamera;
    }


    public void OnPointerClick(PointerEventData eventData)
    {
        int linkIndex = TMP_TextUtilities.FindIntersectingLink(m_TextMeshPro, Input.mousePosition, m_Camera);
        if (linkIndex != -1)
        {
            TMP_LinkInfo linkInfo = m_TextMeshPro.textInfo.linkInfo[linkIndex];
            Debug.Log("当前的文本是" + linkInfo.GetLinkText());
        }
    }
}

非常简单,只要在OnPointerClick里填上你想点击要展示的页面(或者想执行的事件)就行,然后TextMeshPro Text组件中填入你想实现点击的文字就可以。
unity 点击事件,unity,unity,游戏引擎,c#
代码参考的是TextMeshPro Example 12的案例,删除了一些不需要的功能,源码中还有鼠标移动上去的效果、点击文字效果改变等、因为我这里用不上,就不做展示了。另外,我这里只是做了最简单的演示,实际上点击展示装备等,肯定需要一些详细的数据,这可就需要做一个工具类去辅助,此处就不做展开了,此处主要展示如何实现文本点击。文章来源地址https://www.toymoban.com/news/detail-549945.html

到了这里,关于Unity实现文本点击事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity 点击事件

    目录 点击按钮,显示图片功能教程 第1步添加ui button,添加ui RawImage 第2步 添加脚本: 第3步,把脚本拖拽到button,点击button,设置脚本的变量, GameObject添加 Component组件 第1步添加ui button,添加ui RawImage 第2步 添加脚本: 第3步,把脚本拖拽到button,点击button,设置脚本的变量

    2024年02月19日
    浏览(32)
  • Unity 2D点击事件、碰撞

    1.事件封装 定义脚本,实现事件相关接口即可 2.点击对象必须要添加BoxCollider2D脚本 3.摄像机上必须添加Physics2DRaycaster脚本 4.GameInputEvent2D 事件必须添加在挂载Physics2DRaycaster的对象及其父类身上。 5.如果要有碰撞或者触发器回调,碰撞其中之一要添加Rigidbody2D脚本,且不能设置

    2024年02月09日
    浏览(37)
  • Unity UI点击事件系统

    在Unity 的UGUI开发过程中,我们经常需要对UI图片进行操作响应各种处理比如:点击,长点击,长按,拖拽等多种功能的实现,这时原本的Button组件就不够用了 我们需要自己实现一个简单的点击事件系统来响应用户的各种操作,下面可以分析一下思路。 首先你需要提前了解点

    2024年01月17日
    浏览(41)
  • 【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现

    📢博客主页:肩匣与橘 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 肩匣与橘 编写,首发于 CSDN 🙉 📢生活依旧是美好而又温柔的,你也是✨  基于Unity3D引擎的冒险游戏的设计与实现 📢前言 摘要 Abstract 1 绪论 1.1 选题背景 1.2 研究目的及意义 2 开发工具

    2024年02月05日
    浏览(62)
  • [Unity]UI事件(鼠标进入、离开、点击)

    1、首先继承IPointerEnterHandler、IPointerExitHandler等接口 2、实现其方法 如:OnPointerEnter、OnPointerExit 注意:这些只对UI有效,而OnMouseEnter只对加Collider的非UI有效

    2024年03月17日
    浏览(62)
  • 【100个 Unity实用技能】☀️ | Unity中 过滤透明区域的点击事件

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年01月22日
    浏览(64)
  • Unity(六)--绑定鼠标点击事件(左键、右键、中键)

    新建一个脚本buttonEvent:

    2024年02月01日
    浏览(52)
  • Unity UGUI之Button按钮点击事件

    组件基本知识:Unity UGUI之Button控件的简单认识-CSDN博客 按钮添加点击事件虽然比较简单,但是使用不同的方法灵活应用开发起来效率会更高。 1、当我们控制Unity一些组件的事件是组件本身自带的,那么我们就可以考虑直接通过Button的On Click()中“+”按钮,添加一个新事件,然

    2024年02月05日
    浏览(51)
  • Unity射线以及相关点击触发事件的归纳

    例如:最近在做一些Unity的小游戏需要,需要用到射线检测和点击事件等操作,虽然都是一些很基础的东西但是也折腾了一会,主要有些细节没处理好就会导致不触发,写篇博客学习记录一下吧。   这个是最常用的,常用于3D游戏中通过射线检测来获取鼠标点击的位置来控

    2024年02月01日
    浏览(42)
  • Unity UGUI事件输入,点击UI无反应

    之前被一个特别低级的UI点击问题卡了好久,记录一下,避免之后再犯同样的错误。 UI事件输入未接受到的原因无非就几个,一一排查总能找到原因。 1、若是直接使用的unity组件中的按钮,但是点击按钮没有反应。         1)查找是否被其他UI遮挡         2)查找是否接收

    2024年04月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包