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): エラー CS1061: '画像' には 'スプライト' の定義が含まれておらず、タイプの最初の引数を受け入れるアクセス可能な拡張メソッド 'スプライト' はありません「イメージ」が見つかりました (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 に答える