Unity3D实现通用的Image动态切换显示图标

一、先在项目中创建一个Resources文件夹(然后将需要切换的图片放在该文件下面),我们这里给Resources文件夹新建一个子文件夹比如取名Textures,最后给Textures文件夹创建一个子文件夹名为LogOn,然后替换的图片名字为正确、错误

Unity3D实现通用的Image动态切换显示图标_第1张图片
二、进行布局

Unity3D实现通用的Image动态切换显示图标_第2张图片

三、创建一个脚本用于切换贴图(这里以登录脚本为例)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


namespace View
{
     public class View_LogonInfo : MonoBehaviour
      {
       
        public Image TipImgName;                                                              //用户名提示图标
        public Image TipImgPwd;                                                               //用户密码提示图标

        private string _iconCorrectName = "正确";                                             //正确图标的名称
        private string _iconErrorName = "错误";                                               //错误图标的名称


        void Start()
	{
            //隐藏提示的图标
            TipImgName.gameObject.SetActive(false);
            TipImgPwd.gameObject.SetActive(false);
	}

        /// 
        /// 登录
        /// 
        public void BtnLogon()
        {
          
            bool logonMark=false;
            if (logonMark == true)
            {
                SelectDisplayTipIcon(TipImgName, _iconCorrectName);
                SelectDisplayTipIcon(TipImgPwd, _iconCorrectName);
                print("登陆成功");
               
            }
            else
            {
              
                SelectDisplayTipIcon(TipImgName, _iconErrorName);
                SelectDisplayTipIcon(TipImgPwd, _iconErrorName);
                print("登陆失败");
            }

            
        }

        


        /// 
        /// 选择显示的提示图标
        /// 
        /// 图片本身
        /// 需要在该图片上显示的图标
        private void SelectDisplayTipIcon(Image imgName, string tipIcon)
        {
            Image icon = imgName.GetComponent();
            Sprite sp = Resources.Load("Textures/LogOn/" + tipIcon, typeof(Sprite)) as Sprite;
            icon.sprite = sp;
            imgName.gameObject.SetActive(true);
        }


    }//class_end
}


四、将该脚本添加到场景的物体上,然后给登录按钮指定 BtnLogon()方法,接着运行项目,点击登录按钮则右侧的图标就会改变为错误的图标

你可能感兴趣的:(Unity基础)