iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >unity实现鼠标经过时ui及物体的变色操作
  • 431
分享到

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

2024-04-02 19:04:59 431人浏览 安东尼
摘要

1、实现UI的变色 设置Highlighted Color为鼠标经过时变的颜色(NORMal为常态,Pressed为按下时的颜色,Disabled为禁止的颜色) 2、通过代码实现物

1、实现UI的变色

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

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物体上方时,为了提醒用户该物体是可以交互时,我们需要添加一个动效和提示音。这样可以提高产品的体验感。

解决方案

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

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


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;

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

1.创建o的动画km和gm

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

2.人物控制器


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()
{
 
}
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。

--结束END--

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

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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实现table鼠标经过变色代码
    复制代码 代码如下: $('#<%=AllEvent.ClientID%> tr:not(:has("th"))').hover(function () { $bg = ...
    99+
    2022-11-15
    table变色 鼠标经过
  • jquery如何实现鼠标经过改变背景色
    今天小编给大家分享一下jquery如何实现鼠标经过改变背景色的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • 怎么用CSS制作当鼠标经过时会变色的菜单栏
    本篇内容介绍了“怎么用CSS制作当鼠标经过时会变色的菜单栏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • 鼠标划过时整行变色284587实现方法
    [html]<script>function overIt(){   var the_obj = event.srcElement;  &n...
    99+
    2023-05-20
    鼠标划过时整行变色
  • css实现鼠标经过样式改变的方法
    这篇文章主要介绍了css实现鼠标经过样式改变的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。什么是csscss是一种用来表现HTML或XML等文件样式的计算机语言,主要是用来设计网页的样式,使网页更加美化。它也是一种...
    99+
    2023-06-14
  • JavaScript实现鼠标经过表格行给出颜色标识的方法
    小编给大家分享一下JavaScript实现鼠标经过表格行给出颜色标识的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java是什么Java是一门面向对象编程语...
    99+
    2023-06-14
  • javascript学习笔记(二) 鼠标经过时,改变div块的背景色的代码
    HTML部分代码: 复制代码 代码如下: <ul> <li>鼠标经过时改变背景色</li> <li>鼠标经过时改变背景色</li...
    99+
    2022-11-21
    div 背景色
  • css怎么实现鼠标经过文字背景颜色或图片发生变化
    本篇内容介绍了“css怎么实现鼠标经过文字背景颜色或图片发生变化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • css如何实现鼠标经过图片超链接时改变图片的大小
    小编给大家分享一下css如何实现鼠标经过图片超链接时改变图片的大小,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!鼠标经过时图片超链接改变的办法:代码如下:a:hover img{ height:&nbs...
    99+
    2023-06-08
  • 如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同
    这篇文章主要介绍“如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同”,在日常操作中,相信很多人在如何实现当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同问题上存在疑惑,小编查阅了各式资料,整理出简单...
    99+
    2024-04-02
  • jQuery实现鼠标拖动div改变位置、大小的操作
    本篇内容主要讲解“jQuery实现鼠标拖动div改变位置、大小的操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jQuery实现鼠标拖动div改变位置、大小的操作”吧!  ...
    99+
    2023-06-14
  • js鼠标经过tab选项卡时实现切换延迟的示例分析
    这篇文章将为大家详细讲解有关js鼠标经过tab选项卡时实现切换延迟的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。    ...
    99+
    2024-04-02
  • CSS如何实现鼠标移入时图片的放大效果及缓慢过渡效果
    小编给大家分享一下CSS如何实现鼠标移入时图片的放大效果及缓慢过渡效果,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!transform:scale()可以实现按比例放大或者缩小功能。transition可以设置动画执行的时...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作