写在前面:需求是第一章有12节课,每节课打包成了一个EXE文件,得把这12节课的EXE合起来,用一个总的EXE文件来启动————我们假设它为Manager.EXE,其中某一节课为Lesson001.EXE(存在于第一课打出名为“Lesson”的包中)
核心函数:Application.OpenURL()
基本逻辑:点击Manager.EXE中的Button按钮,监听函数调用以上核心函数,启动Lesson001.EXE
第一步,Lesson包放到工程视图Assets目录新建的StreamingAssets文件夹下
第二步,创建按钮,给它写脚本,加监听函数
脚本内容:
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文件夹下,去除打包过程的影响。
网上还有兄弟用批处理来启动的,等有时间研究通了,再分享给亲们