问题描述
我不知道如何更改用于源图像的精灵。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class SceneButton : MonoBehavIoUr
{
public Sprite ButtonOff;
public Sprite ButtonOn;
private void OnMouseDown()
{
gameobject.GetComponent<Image>().sprite = ButtonOn;
}
}
当我输入时,它返回: Assets \ Scripts \ SceneButton.cs(13,31):错误CS1061:“图像”不包含“ sprite”的定义,找不到可以接受的扩展方法“ sprite”接受类型为“ Image”的第一个参数您缺少using指令或程序集引用吗?)
我见过很多帖子,人们在图像组件上使用.sprite,所以我不确定为什么我不能
解决方法
我认为您应该使用UnityEngine.UI添加;命名空间。如果不起作用,则尝试使用以下公共功能:-
public GameObject soundButton;
public sprite soundOn;
public sprite soundOff;
public void ChangeSprite()
{
// getting Image component of soundButton and changing it
soundButton.GetComponent<Image>().sprite = soundOn;
}
然后从统一的onclick调用它 也许对你有用