以下是我更改图像颜色的代码。将 cs 脚本插入我的图像属性后,我从颜色选择器中选择图像颜色为黄色,并将黄色从颜色选择器分配给图像颜色字段。
public Color normalColor;
public Color selectedColor;
public Image image;
public void Select(){
isSelected = !isSelected;
image.color = isSelected ? selectedColor : normalColor;
if (isSelected) {
WordScramble.main.Select (this);
} else {
WordScramble.main.UnSelect(this);
}
}
Select 函数在单击图像时被调用,它正在正确调用和运行其功能,但颜色更改除外。请告诉我我错在哪里。
image.GetComponent<Image>().color = isSelected ? selectedColor : normalColor;
必须获得图像,而不仅仅是游戏对象。 祝你好运!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Test07a : MonoBehaviour {
public Color normalColor;
public Color selectedColor;
public Image image;
private bool isSelected;
public void Select(){
isSelected = !isSelected;
image.color = isSelected ? selectedColor : normalColor;
if (isSelected) {
Debug.Log ("selected");
} else {
Debug.Log ("not selected");
}
}
}
尝试了该代码并且工作正常(我删除了WordScramble
并初始化了布尔isSelected
以进行实验(。
如果您的问题是单击图像时图像消失,请尝试从颜色选择器
检查颜色的 alpha:这就是我尝试您的代码时的问题