菜菜ANY 2020-10-26 17:23 采纳率: 0%
浏览 123

Unity 打开Window窗口后 关闭会闪屏

public void LoadPicture()
{
OpenFileName ofn = new OpenFileName();

    ofn.structSize = Marshal.SizeOf(ofn);

    //ofn.Multiselect = true;

    //图片文件(*.jpg,*.png,*.jpeg)|*.jpg;*.png;*.jpeg
    ofn.filter = "图片文件(*.jpg,*.png,*.jpeg)|*.jpg;*.png;*.jpeg";

    ofn.file = new string(new char[256]);

    ofn.maxFile = ofn.file.Length;

    ofn.fileTitle = new string(new char[64]);

    ofn.maxFileTitle = ofn.fileTitle.Length;
    string path = Application.streamingAssetsPath;
    path = @"C:\";
    path = path.Replace('/', '\\');
    //默认路径
    ofn.initialDir = path;
    //ofn.initialDir = "D:\\MyProject\\UnityOpenCV\\Assets\\StreamingAssets";
    ofn.title = "Open Project";

    ofn.defExt = "PNG";//显示文件的类型
                       //注意 一下项目不一定要全选 但是0x00000008项不要缺少
    ofn.flags = 0x00080000 | 0x00001000 | 0x00000800 | 0x00000200 | 0x00000008;//OFN_EXPLORER|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST| OFN_ALLOWMULTISELECT|OFN_NOCHANGEDIR

    if (WindowDll.GetOpenFileName(ofn))
    {
        _path = ofn.file;
        StartCoroutine(LoadOfWin(ofn.file));

    }
}
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 23:10
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Unity中,打开一个窗口并关闭它可能会导致屏幕闪烁。这通常是因为Unity正在处理其他操作,例如渲染或网络请求。

    为了防止这种情况发生,你可以尝试以下方法:

    1. 使用Application.OpenURL()函数来打开一个新的浏览器窗口,而不是使用OpenFileName类。
    2. 在你的程序中添加一个等待时间,确保所有非阻塞操作都完成后再关闭窗口。

    这是一个示例代码:

    string url = "http://www.example.com"; // 假设这是你想要打开的新网页链接
    Application.OpenURL(url);
    

    请注意,这种方法可能无法解决所有问题,因为Unity本身的行为可能会有所不同。如果你仍然遇到问题,请提供更多的上下文信息,以便我能够更好地帮助你解决问题。

    评论

报告相同问题?