Unity(C#)中的错误CS1061;我想在脚本中更改精灵

时间:2020-09-15 12:46:58

标签: c#

我要制作一个可以改变游戏外观的系统。 每当我按下按钮时,都会尝试将皮肤样本图像更改为指定的图像(在检查器上),但是会出现错误。

“错误CS1061:'Sprite'不包含'sample'的定义,并且找不到可访问的扩展方法'sample'接受类型为'Sprite'的第一个参数(是否缺少using指令或程序集引用?)“

即使我首先将样本指定为Sprite,我也不知道为什么会出现此错误。 请帮助我。

using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Globalization;
using System.Runtime.Versioning;
using UnityEngine;
using UnityEngine.UI;

[System.Serializable]
public class Samples
{
    public Sprite sample;
}



[System.Serializable]
public class Changes
{
    [TextArea]
    public string changes;

}

[System.Serializable]
public class Skin
{
    [TextArea]
    public string name;
    public string explain;

}

public class change_skin : MonoBehaviour
{
    [SerializeField] private SpriteRenderer sprite_sample;
    [SerializeField] private Text txt_changes;
    [SerializeField] private Text txt_skin_name;
    [SerializeField] private Text txt_skin_explain;

    private int count = 0;
    private int num = 0;


    [SerializeField] private Changes[] change_thing;

    [SerializeField] private Skin[] skins;


    [SerializeField]
    public Samples[] sample_image;

    [Serializable]
    public struct Samples
    {
        [SerializeField]
        public Sprite[] sample_thing;
    }

void Start()
    {
        sprite_sample.sprite = sample_image[count].sample_thing[num].**sample**;
        txt_changes.text = change_thing[num].changes;
        txt_skin_name.text = skins[count].name;
        txt_skin_explain.text = skins[count].explain;
    }
   public void bt_changes_right()
    {
        if (num >= change_thing.Length)
        {
            num = 0;
        }
        
        num++;

        txt_changes.text = change_thing[num].changes;
        sprite_sample.sprite = sample_image[count].sample_thing[num].**sample**;


    }

1 个答案:

答案 0 :(得分:0)

sample_thing是一个Sprite,我想您正在尝试在Sprite对象中使用以下代码: sprite_sample.sprite = sample_image[count].sample_thing[num].**sample**;

尝试停止sample_thing。像这样:

sprite_sample.sprite = sample_image[count].sample_thing[num];

看看如果从Start()和bt_changes_right()进行更改,会发生什么情况