Jump to content

EnrMF

Registrados
  • Content Count

    7
  • Joined

  • Last visited

  • Days Won

    1

EnrMF last won the day on May 4 2020

EnrMF had the most liked content!

Community Reputation

5 Neutral

About EnrMF

  • Rank
    Recién Llegado

Profile Information

  • Especialidad
    Coder
  1. Hola a todos: tengo el siguiente script que lo que hace es guardar el nombre y los puntos en un XML generado. El problema que tengo es que cuando lo ejecuto en el editor de Unity funciona perfectamente y se van añadiendo los datos, en sus respectivos nodos. Sin embargo, en Android va reescribiendo sobre el nodo existente, es decir, solo hay un nombre con su puntuación. Adjunto el código del script y el XML generado. No entiendo porque en el editor de Unity funciona y en Android no. Gracias public class SavingXML : MonoBehaviour { public XmlDocument xmlDoc; //LOAD THE EXISTING FILE public void loadXMLFromAssets() { xmlDoc = new XmlDocument(); TextAsset textXml = (TextAsset)Resources.Load("jugadores", typeof(TextAsset)); xmlDoc.LoadXml(textXml.text); } //Add XML data public void UpdateXML() { if (xmlDoc == null) { loadXMLFromAssets(); } XmlNode parentNode = xmlDoc.SelectSingleNode("players"); XmlNode playerNode = xmlDoc.CreateElement("player"); XmlNode nameNode = xmlDoc.CreateElement("nombre"); XmlNode scoreNode = xmlDoc.CreateElement("puntos"); nameNode.InnerText = PlayerPrefs.GetString("name"); scoreNode.InnerText = (PlayerPrefs.GetInt("savedscore").ToString()); parentNode.AppendChild(playerNode); playerNode.AppendChild(nameNode); playerNode.AppendChild(scoreNode); #if UNITY_EDITOR xmlDoc.Save(Application.dataPath + "/Resources/jugadores.xml"); #elif UNITY_ANDROID || UNITY_IOS xmlDoc.Save(Application.persistentDataPath + "/Resources/jugadores.xml"); #endif } public class Player { public string name { get; set; } public int score { get; set; } } /*/////XML SAVED/GENERATED <?xml version="1.0" encoding="utf-8"?> <players> <player> <nombre>Peter</nombre> <puntos>70</puntos> </player> </players> */
  2. EnrMF

    Tabla Highscores

    Muchas gracias por la gran idea FRANCOE1
  3. Quizás podrías utilizar una Corrutina. Según la documentación oficial de Unity te recomienda su uso al de "Invoke(string,float)" https://docs.unity3d.com/ScriptReference/MonoBehaviour.Invoke.html Se haría de la siguiente forma: //Primero. Crea la corrutina IEnumerator Wait() { yield return new WaitForSeconds(2); } //Segundo. Sustituye la corrutina en lugar de "Invoke(string ,float)" if (objeto.collider.tag=="player1goal") { p1score+=1; ResetBall(); StartCoroutine(Wait()); } if (objeto.collider.tag=="player2goal") { p2score += 1; ResetBall(); StartCoroutine(Wait()); } Espero que pueda ayudarte. Un saludo
  4. echale un vistazo al enlace.estas usando un metodo obsoleto para cambiar de escena. Deberias usar: Application.LoadLevel("PongMainScene") https://docs.unity3d.com/es/530/ScriptReference/Application.LoadLevel.html Espero que te sirva. Un saludo
  5. EnrMF

    Tabla Highscores

    Hola a todos, estoy terminando un juego para Android, concretamente un SpaceShooter. Actualmente tengo grabado el record de puntuación en "recordText.text" y me gustaría poder crear una Tabla con las 5 mejores puntuaciones que se hayan realizado utilizando XML para guardar esa información. He estado mirando info pero no me queda nada claro. ¿Alguien podría indicarme hacia donde mirar y si conoce de algún buen recurso? Mil gracias. Un saludo
×
×
  • Create New...