当前位置:   article > 正文

unity Button按钮点击时改变按钮图片样式_unity点击按钮切换图片

unity点击按钮切换图片

三种改变按钮图片的方法

按钮原来是

 点击的时候,希望它变成

 这里也可以变成其他图片,不光是改变颜色

一、点击时改变图片(点击其他物体时会改回去)

添加Button后,改变设置

我们要把这个红色的改成 SpriteSwap

把自己喜欢的图片拖到红色箭头指的那一行,拖进去之后,你点击按钮的时候会直接改变按钮图片样式哦~~~

 其他的地方,你们也可以自己拖图片试一下,总之就是不同情况下改变图片

二、点击后永久改变图片样式(这个永久指的你不自己改回来)

这个是评论区有问,所以加的。

1.先做一个按钮

 2.准备一个你想换的图片,并把它改成精灵模式

3.开始写代码

 先把刚刚准备好要替换的图片放到代码里。

    [SerializeField] Sprite sprite;

 把按钮也加在这个代码里。

  1. [SerializeField] Sprite sprite;
  2. [SerializeField] Transform button0;

 现在要添加代码,当点击按钮的时候,把按钮的图片换成图片1。

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class ChangeButton : MonoBehaviour
  6. {
  7. [SerializeField] Sprite sprite;
  8. //注意这里我声明的是Transform
  9. [SerializeField] Transform button0;
  10. void Start()
  11. {
  12. //我需要在Button组件里面加,所以用GetComponent<Button>()
  13. //当点击时(onClick)
  14. //因为我一直要看着,有没有点击,所以加方法叫,监听时(AddListener)
  15. //最后加入方法ButtonDown
  16. button0.GetComponent<Button>().onClick.AddListener(ButtonDown);
  17. }
  18. void ButtonDown() {
  19. //我需要改的是图片,所以我需要先获取组件Image,所以用GetComponent<Image>()
  20. //我需要Image组件里的图片,所以用sprite
  21. //等号后面的sprite是我第一行加的图片1
  22. button0.GetComponent<Image>().sprite = sprite;
  23. }
  24. }

 4.成果展示

三、点击改变图片样式,再点一下改回来

这个是评论区又有问,所以加的。

逻辑梳理:我建两个按钮AB,B把A盖住。

B平时是隐藏的,点击A,显示B。

(这时候B出现了,刚好A被遮住,你只能点到B)

那么点击B,B自己消失,就又只能看见A了

 

2.再做一个按钮,把这俩按钮搞的一样大(这步略)

3.把按钮2放到按钮1下方

这会图片会显示按钮2的图片,因为按钮1被遮住了

4.把按钮2隐藏

5.给按钮加方法

给按钮1加的方法:点击按钮1,显示按钮2

给按钮2加的方法:点击按钮2,把按钮2关掉

按钮1的方法:

 按钮2的方法:

 5.成果展示

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/112548
推荐阅读
相关标签
  

闽ICP备14008679号