0

我已将 SCORM 1.2 与产生 WebGL 输出的游戏集成,如果我们直接在浏览器中播放 WebGL,它可以正常工作,而不能在 LMS 中工作。发现游戏中包含的游戏脚本导致问题,当我禁用它并在 LMS 中上传构建时它的加载(无法继续游戏,因为脚本被禁用)

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

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

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

错误信息 请查找附件。在此处输入图像描述

4

1 回答 1

0

使用 WWW 类https://docs.unity3d.com/ScriptReference/Application-streamingAssetsPath.html访问 StreamingAssets 路径文件夹

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

于 2016-08-30T05:37:05.137 回答