1

我不知道如何更改用于源图像的精灵。

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): error CS1061: 'Image' does not contain a definition for 'sprite' and no access extension method 'sprite' accept the first argument of type可以找到“图像”(您是否缺少 using 指令或程序集引用?)

我看过很多帖子,人们在图像组件上使用 .sprite,所以我不知道为什么我不能

4

1 回答 1

1

我认为您应该使用 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;
}

并从团结的点击中调用它愿它对你有用

于 2020-11-20T06:38:44.317 回答