返回顶部
首页 > 资讯 > 精选 >如何使用unity实现鼠标经过时ui及物体的变色操作
  • 804
分享到

如何使用unity实现鼠标经过时ui及物体的变色操作

2023-06-14 11:06:24 804人浏览 薄情痞子
摘要

这篇文章主要介绍了如何使用Unity实现鼠标经过时ui及物体的变色操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、实现UI的变色设置Highlighted Color为

这篇文章主要介绍了如何使用Unity实现鼠标经过时ui及物体的变色操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、实现UI的变色

设置Highlighted Color为鼠标经过时变的颜色(NORMal为常态,Pressed为按下时的颜色,Disabled为禁止的颜色)

如何使用unity实现鼠标经过时ui及物体的变色操作

2、通过代码实现物体的颜色改变

using System.Collections;using System.Collections.Generic;using UnityEngine;public class Cube_change : MonoBehaviour {    private Color CubeColor;    private Texture CubeTexture;    public GameObject objCube; // Use this for initialization void Start ()        {             objCube = GameObject.Find("Cube");             objCube.GetComponent<Renderer>().material.color = Color.blue; }       public void OnMouseEnter()       {            objCube.GetComponent<Renderer>().material.color = Color.red;       }      public void OnMouseExit()      {            objCube.GetComponent<Renderer>().material.color = Color.blue;       }       // Update is called once per frame      void Update ()      {  }

//+++++++++++++++++++++++++++

unity5.0之后renderer就不能使用material,需要使用GetComponent来获取

GameObject objcub = GameObject.CreatePrimitive(PrimitiveType.Cube);  objcub.AddComponent<Rigidbody>();  objcub.name = "Cube";  //设置color 使用这个来获取material  objcub.GetComponent<Renderer>().material.color = Color.blue;

补充:Unity 实现鼠标滑过UI时触发动画

在有些需求中会遇到,当鼠标滑过某个UI物体上方时,为了提醒用户该物体是可以交互时,我们需要添加一个动效和提示音。这样可以提高产品的体验感。

解决方案

给需要有动画的物体制作相应的Animation动画。(相同动效可以使用同一动画复用)

给需要有动画的物体添加脚本。脚本如下:

using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;public class OnBtnEnter : MonoBehaviour, IPointerEnterHandler,IPointerExitHandler{    //鼠标进入按钮触发音效和动画    public void OnPointerEnter(PointerEventData eventData)    {      //  AudioManager.audioManager.PlayEnterAudio();//这里可以将播放触发提示音放在这里,没有可以提示音可以将该行注释掉        if (gameObject.GetComponent<Animation>()!=null) {            if ( gameObject.GetComponent<Animation>() .isPlaying) {                return;            }            gameObject.GetComponent<Animation>().wrapMode = WrapMode.Loop;            gameObject.GetComponent<Animation>().Play();        }    }//鼠标离开时关闭动画    public void OnPointerExit(PointerEventData eventData)    {        if ( gameObject.GetComponent<Animation>() != null )        {            if ( gameObject.GetComponent<Animation>().isPlaying )            {                gameObject.GetComponent<Animation>().wrapMode = WrapMode.Once;                return;                           }            gameObject.GetComponent<Animation>().Stop();        }    }}

补充:unity人物接近时触发事件或动画demo

定义物体GameObject o;

效果:当人物接近物体时,物体触发动画,比如位移

创建o的动画km和gm

创建空物体 Empty,大小稍微比o大一点,拖入o,用来接受触发判定,防止物体移动过后触发器跟着移动,勾选 is trigger

人物控制器

using System.Collections;using System.Collections.Generic;using UnityEngine; public class DoorController : MonoBehaviour{private Animation ani; void Start() {//获取子组件下的第一个组件,再获取子组件animation,//如果是获取自身组件,直接GetComponent<XXX>()ani = transform.GetChild(0).GetComponent<Animation>();} private void OnTriggerEnter(Collider other){//当物体接触到时则播放animation中的km动画ani.Play("km");} private void OnTriggerExit(Collider other){//当物体接触到时则播放animation中的gm动画ani.Play("gm");} void Update(){ }}

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用unity实现鼠标经过时ui及物体的变色操作”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何使用unity实现鼠标经过时ui及物体的变色操作

本文链接: https://lsjlt.com/news/270625.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • unity实现鼠标经过时ui及物体的变色操作
    1、实现UI的变色 设置Highlighted Color为鼠标经过时变的颜色(Normal为常态,Pressed为按下时的颜色,Disabled为禁止的颜色) 2、通过代码实现物...
    99+
    2024-04-02
  • 如何使用unity实现鼠标经过时ui及物体的变色操作
    这篇文章主要介绍了如何使用unity实现鼠标经过时ui及物体的变色操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、实现UI的变色设置Highlighted Color为...
    99+
    2023-06-14
  • Unity 实现鼠标滑过UI时触发动画的操作
    在有些需求中会遇到,当鼠标滑过某个UI物体上方时,为了提醒用户该物体是可以交互时,我们需要添加一个动效和提示音。这样可以提高产品的体验感。 解决方案 1、给需要有动画的物体制作相应的...
    99+
    2024-04-02
  • jquery如何实现鼠标经过改变背景色
    今天小编给大家分享一下jquery如何实现鼠标经过改变背景色的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • 怎么用CSS制作当鼠标经过时会变色的菜单栏
    本篇内容介绍了“怎么用CSS制作当鼠标经过时会变色的菜单栏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • css如何实现鼠标经过图片超链接时改变图片的大小
    小编给大家分享一下css如何实现鼠标经过图片超链接时改变图片的大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!鼠标经过时图片超链接改变的办法:代码如下:a:hover img{ height:&nbs...
    99+
    2023-06-08
  • 如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同
    这篇文章主要介绍“如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同”,在日常操作中,相信很多人在如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • 如何利用div+css实现鼠标经过背景高亮的导航菜单
    这篇文章主要介绍“如何利用div+css实现鼠标经过背景高亮的导航菜单”,在日常操作中,相信很多人在如何利用div+css实现鼠标经过背景高亮的导航菜单问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2024-04-02
  • CSS如何实现鼠标移入时图片的放大效果及缓慢过渡效果
    小编给大家分享一下CSS如何实现鼠标移入时图片的放大效果及缓慢过渡效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!transform:scale()可以实现按比例放大或者缩小功能。transition可以设置动画执行的时...
    99+
    2023-06-08
  • 如何启动使用Win8语音识别功能实现无鼠标语音操作
      或许我们已经习惯了用鼠标在Windows系统中进行操作,但实际上Windows 8中自带的语音控制功能完全可以实现我们“无鼠标”语音操作。   如何启动语音识别功能   首先,用户需要准备一部...
    99+
    2023-06-04
    Win8 语音控制 无鼠标 鼠标 语音 功能
  • 如何使用python实现时间序列预测中的数据滑窗操作
    这篇文章主要为大家展示了“如何使用python实现时间序列预测中的数据滑窗操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用python实现时间序列预测中的数据滑窗操作”这篇文章吧。撰写...
    99+
    2023-06-29
  • 如何使用layui实现左侧菜单栏以及动态操作tab项的方法
    这篇文章主要为大家展示了“如何使用layui实现左侧菜单栏以及动态操作tab项的方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用layui实现左侧菜单...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作