点击按钮时纹理没有分配给游戏对象

本文关键字:分配 游戏 对象 按钮 纹理 | 更新日期: 2023-09-27 18:04:18

我有件事一直没能解决,我真的需要一个新的人来处理。我正在加载一个图像数组,将其中一个分配给LoadGallery.cs中的纹理。然后在LoadImage中,我有一个按钮当点击时运行LoadImg但是当我点击按钮时什么都没有发生。纹理不会被分配给GameObject。我也没有得到任何错误。当它全部在IEnumerator函数内时,脚本工作得很好,但当我将它拉出到另一个脚本中时,我什么也得不到。我说错了什么?

LoadGallery.cs

public Texture2D tex;
// Use this for initialization
void Start () {
    StartCoroutine("LoadAllImages");
}
IEnumerator LoadAllImages()
{
    string[] filePaths = Directory.GetFiles(@"/Users/kenmarold/Screenshots/TATUS/", "*.png");       
    WWW www = new WWW("file://" + filePaths[0]);                                            
    yield return www;                                                                               
    Texture2D tex = new Texture2D(512,512);                                                         
    www.LoadImageIntoTexture(tex);
}

LoadImage.cs

void LoadImg() 
{
    GameObject galleryLoader = GameObject.FindGameObjectWithTag("GalleryLoader");
    LoadGallery loadGallery = galleryLoader.GetComponent<LoadGallery>();
    Rect rct = new Rect(0, 0, loadGallery.tex.width, loadGallery.tex.height);
    Vector2 pvt = new Vector2(0.5f, 0.5f);
    GameObject screenShotImg = GameObject.FindGameObjectWithTag("screenshot");
    Image img = screenShotImg.GetComponent<Image>();
    img.sprite = Sprite.Create(loadGallery.tex, rct, pvt);
}

点击按钮时纹理没有分配给游戏对象

我看不出你在做什么。从我的经验来看,这些是常见的错误:
1. 您可能忘记为按钮分配loadmg函数。
2. UI对象"截图"的大小太小试着分配一些虚拟图像,看看它是否真的显示了一些东西。
3.加载画廊时可能会有一些例外。试着查看www.error。仔细调试

祝你工作顺利