如果我们直接在浏览器中播放WebGL并且在LMS中不起作用,我已经将SCORM 1.2与我的游戏集成在一起产生WebGL输出。发现游戏中包含的游戏脚本导致了问题,当我禁用它并上传LMS中的构建时它的加载(由于脚本被禁用,无法继续玩游戏)
在这个脚本中,我使用GAF函数,从放置在StreamingAssets文件夹中的文件中获取Xml数据,而不是使用任何WWW类。
SCORM资产包包含在游戏中, https://www.assetstore.unity3d.com/en/#!/content/53523
不知道哪个功能限制了游戏的运行,请你看看这个并向我发送反馈。
错误讯息 请找到附件。enter image description here
答案 0 :(得分:0)
使用WWW类访问StreamingAssets路径文件夹 https://docs.unity3d.com/ScriptReference/Application-streamingAssetsPath.html
public string filePath = Application.streamingAssetsPath + "/UserDetails.xml";
public string result = "";
void Awake ()
{
filePath = Application.streamingAssetsPath + "/UserDetails.xml";
}
void Start ()
{
StartCoroutine(userDetailsXmlPath() );
}
IEnumerator userDetailsXmlPath()
{
print (filePath);
if (filePath.Contains ("://") || filePath.Contains (":///")) {
WWW www = new WWW (filePath);
yield return www;
result = www.text;
print (result);
FetchUserDetails ();
} else {
result = File.ReadAllText (filePath);
print (result);
FetchUserDetails ();
}
}
public void FetchUserDetails()
{
XmlDocument userXml1 = new XmlDocument ();
userXml1.LoadXml(result);
XmlNodeList userList = userXml1.GetElementsByTagName ("user");
foreach(XmlNode userValue in userList)
{
XmlNodeList userContent = userValue.ChildNodes;
objUser = new Dictionary<string, string>();
foreach(XmlNode value in userContent)
{
objUser.Add (value.Name, value.InnerText);
}
userFullDetails.Add (objUser);
userCountInXml = userList.Count;
userId = new string[userList.Count];
questionSetOfUser = new string[userList.Count];
}
AssignUserXmlValuesToArray ();
}