UGUI怎么获取Image,怎么动态的更换Image
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UGUI怎么获取Image,怎么动态的更换Image相关的知识,希望对你有一定的参考价值。
需要在头文件里面定义一下我圈中的那***哪里,不能没办法获取到image组件
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Sprites;
public class OnButton : MonoBehaviour
private Button button;
private Image image;
void Start ()
button=this.GetComponent<Button>();
image=this.GetComponent<Image>();
private void ButtonDown()
button.interactable=false; image.overrideSprite=Resources.Load("Textures/TechBlue/background",typeof(Sprite))as Sprite;//这里就是修改他的图片,
image.color=Color.red;
最后记住,在图片哪里我们需要换一下类型,不然没办法修改他的图片 参考技术A using System.Windows.Media.Imaging ImageBrush xx = new ImageBrush(); xx.ImageSource=new BitmapImage(new Uri("/Images/myPicture.png",UriKind.Relative)); myControl.BackGround = xx;纠正一下: 这不叫Bind,这只是一个动态更换背景的操作而已。
UGUI 用代码控制组件显示在最前
UGUI中的组件,不论是Image还是Button或者Text等等
在Hierarchy面板中,一个组件越靠下,就越靠前显示,覆盖掉其它的
那么,在代码中,怎么能动态的设置让某个组件在前面显示呢
其实就是让它在Hierarchy面板中的位置靠下
用一个方法就解决了
Transform.SetAsLastSibling();
对于UI来说,其本身的RectTransform,继承自Transform,也可以用此方法
RectTransform.SetAsLastSibling();
但是注意,这样只是在与它同级的组件中排到最下面(最前)显示
如果是与它父物体同级,并排在它父物体之下的,依然会显示在它之前。
相反的,如果要让它显示在最后,被其它覆盖,则用另一个方法
Transform.SetAsFirstSibling();
即,在Hierarchy面板中,让它处于同级最上方
以上是关于UGUI怎么获取Image,怎么动态的更换Image的主要内容,如果未能解决你的问题,请参考以下文章