使用SCORM 1.2的Unity WebGL构建在LMS中不起作用

时间:2016-08-27 06:29:42

标签: unity5 scorm scorm1.2 unity-webgl

如果我们直接在浏览器中播放WebGL并且在LMS中不起作用,我已经将SCORM 1.2与我的游戏集成在一起产生WebGL输出。发现游戏中包含的游戏脚本导致了问题,当我禁用它并上传LMS中的构建时它的加载(由于脚本被禁用,无法继续玩游戏)

在这个脚本中,我使用GAF函数,从放置在StreamingAssets文件夹中的文件中获取Xml数据,而不是使用任何WWW类。

SCORM资产包包含在游戏中, https://www.assetstore.unity3d.com/en/#!/content/53523

不知道哪个功能限制了游戏的运行,请你看看这个并向我发送反馈。

错误讯息 请找到附件。enter image description here

1 个答案:

答案 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 ();
         }