0

WebGL 出力を生成するゲームに SCORM 1.2 を統合しました。WebGL をブラウザで直接再生すると、正常に動作し、LMS では動作しません。ゲームに含まれているゲーム プレイ スクリプトが問題の原因であることがわかりました。これを無効にして LMS でビルドをアップロードすると、その読み込みが行われます (スクリプトが無効になっているため、ゲーム プレイを続行できません)。

このスクリプトでは、WWW クラスを使用せずに、StreamingAssets フォルダーに配置されたファイルから Xml データをフェッチする GAF 関数を使用しています。

ゲームに含まれるSCORMアセットパック、 https: //www.assetstore.unity3d.com/en/#!/content/53523

ゲームの実行を制限している機能がわかりません。これを見て、フィードバックを送ってください。

エラーメッセージ 添付ファイルを見つけてください。ここに画像の説明を入力

4

1 に答える 1

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

于 2016-08-30T05:37:05.137 に答える