一个Unity的EXE文件,启动另一个Unity的EXE文件

写在前面:需求是第一章有12节课,每节课打包成了一个EXE文件,得把这12节课的EXE合起来,用一个总的EXE文件来启动————我们假设它为Manager.EXE,其中某一节课为Lesson001.EXE(存在于第一课打出名为“Lesson”的包中)
核心函数:Application.OpenURL()

基本逻辑:点击Manager.EXE中的Button按钮,监听函数调用以上核心函数,启动Lesson001.EXE

第一步,Lesson包放到工程视图Assets目录新建的StreamingAssets文件夹下一个Unity的EXE文件,启动另一个Unity的EXE文件_第1张图片
第二步,创建按钮,给它写脚本,加监听函数
一个Unity的EXE文件,启动另一个Unity的EXE文件_第2张图片
脚本内容:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class OpenURL : MonoBehaviour
{


    public void Open13()
    {
        string path = Application.streamingAssetsPath + "/Lesson/Lesson001.exe";
        Application.OpenURL(path);
             
    }
}

踩坑记录:查看了一个兄弟的博客,他是把Unity打出的包中的三个文件放到工程的根目录下(如下方第一图),然后直接Application.OpenURL(“打包出的三个文件中的exe文件”);(如下方第二图)———我试了一下,这样在没打包前是可以的,但打包后,就启动不起来了:原因可能是打包的过程,对之上的exe文件进行了编译,于是我想到,可以把打包出的文件放到StreamingAssets文件夹下,去除打包过程的影响。
一个Unity的EXE文件,启动另一个Unity的EXE文件_第3张图片
一个Unity的EXE文件,启动另一个Unity的EXE文件_第4张图片
网上还有兄弟用批处理来启动的,等有时间研究通了,再分享给亲们

你可能感兴趣的:(Unity工作笔记)