用Toggle 来实现选中状态一张图片不选中状态另一张图片时,Transition 选择Sprite Swap 会出现IsOn状态下两张图片叠加。
解决思路:背景图片IsOn状态时将其alpha值设为0。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ToggleIsOn : MonoBehaviour
{
private Toggle toggle;
//未选中图片,Background
private Image unselectedImage;
//选中图片,Checkmark
private Image selectedImage;
private void Start()
{
toggle = GetComponent<Toggle>();
unselectedImage = toggle.targetGraphic as Image;
selectedImage = toggle.graphic as Image;
toggle.onValueChanged.AddListener(OnToggleValueChanged);
}
private void OnToggleValueChanged(bool isOn)
{
if (isOn)
{
unselectedImage.color = new Color(255,255,255,0);
}
else
{
unselectedImage.color = new Color(255,255,255,255);
}
}
}