Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - fernando

#16
General (Antiguo) / leer carpetas y subcarpetas
Abril 05, 2017, 11:22:00 PM
 puede ser :P solo que me falta la contraseña del rar para comprobarlo jajajjjaaja
 
gracias!
#17
General (Antiguo) / leer carpetas y subcarpetas
Abril 05, 2017, 09:06:45 PM
Buenas.
 
Necesito que mi programa lea las carpetas que tengo dentro de una carpeta,y lea los archivos que tengo dentro de esas carpetas (en este caso un .exe y unos .png)
 
El objetivo es que por cada carpeta que aya ,se cree un boton con la imagen que hay dentro de esa carpeta y al dar click que se ejecute el ,exe que hay dentro de la carpeta tambien.
 

if (Directory.Exists(rutasapp)) {
            foreach (string dataApp in Directory.GetDirectories(rutasapp)) {
                AppButton button = Instantiate(buttonPrefab);
                button.transform.SetParent(layout);
                //buscamos todos los ficheos que sean .exe y los guardamos en data
                foreach (string data in Directory.GetFiles(@dataApp)) {
                    if (Path.GetExtension(@data) == ".exe") {
                        //al clicar el boton ejecutamos el exe que hemos guardado anteriormente .NO FUNCIONA
                        button.GetComponent<Button>().onClick.AddListener(() => Process.Start(data));
                        UnityEngine.Debug.Log(data);
                    }
                    //buscamos todas las imagenes que sean .png y las guardamos en imagenes
                    foreach (string imagenes in Directory.GetFiles(@dataApp)) {
                        if (Path.GetExtension(@imagenes) == ".png") {
                            //UnityEngine.Debug.Log(imagenes);
                        }
                    }
                }
            }
        }
    }

 
Tengo ese codigo que funciona maso menos bien.Me crea unos botones por cada carpeta que tengo y luego busco los archivos que son .exe y .png y los guardo en data y imagenes.
 
Cuando intento que al hacer click en el boton se ejecute el exe me da un fallo. la linea que hace eso esta en el segundo foreach la 3 linea
 

button.GetComponent<Button>().onClick.AddListener(() => Process.Start(data));

 
Alguna idea de como hacerlo¿¿
#18
General (Antiguo) / Obtener imagen de xml
Abril 03, 2017, 08:30:49 PM
Cita de: kingtrase date=1491242427quieres ejecutar un .exe desde unity? no comprendo el motivo, pero te equivocas de plataforma... de todas formas si pasas el codigo completo junto al xml completo tambien igual te puedo ayudar.
   


La idea es tener como un menú donde tendre diferentes botones y cada botón ejecutará una cosa diferente,ya puede ser una calculadora el Google Chrome un juego hecho y compilado en unity cualquier .Exe
 
Pero necesito que los datos los lea desde un xml para que así editando el xml puedo mantener la aplicación actualizada sin tener que volver a compilar.
 
Ahora sí edito el xml y pongo otra ruta y otra img me crea otro botón y si no pongo ninguna ruta no crea ningún botón ni nada,no se si me explico.
 
Si me pasas tú correo te paso todo el proyecto
 
Muchas gracias
 
 
#19
General (Antiguo) / Obtener imagen de xml
Abril 03, 2017, 07:52:28 PM
Cita de: kingtrase date=1491236264Esta mal todo el codigo... (Primero soluciona tu codigo y luego intenta leer el xml)
   
   

public Datos ReadXmlTest() {
        XmlSerializer serializer = new XmlSerializer(typeof(Datos));
        StreamReader reader = new StreamReader(xmlPath);//xmlPath supongo que es una variable global...
        Datos data = (Datos)serializer.Deserialize(reader);
        reader.Close();
        return data;
    }
void Awake() {
        string path = "C:/datos.xml";
        XmlManager xmlMng = new XmlManager(path);
        data = xmlMng.ReadXmlTest(); //Data es declarada en ReadXmlTest... aqui no tiene lugar alguno, si ya esta global la tienes dos veces declarada...
        foreach (var juego in data.Juegos) {
            Button newButton = Instantiate(buttonPrefab);
            newButton.transform.SetParent(layout); //doy por echo que layout esta en una variable global.
            newButton.GetComponent<AppButton>();
            Sprite imageSprite = new Sprite();
            Texture2D SpriteTexture = Texture(path);//Aqui le estas pasando la variable path que esta declarada arriba como string y es la ruta del archivo normal que no funcione.
            imageSprite = Sprite.Create(SpriteTexture, new Rect(, , SpriteTexture.width, SpriteTexture.height), new Vector2(, ), 100.0f);
            newButton.image.sprite = imageSprite; //esto no te puede funcionar nunca
          //la forma correcta: newButton.GetComponent<AppButton>().image.sprite... (siendo que tu clase AppButton tenga esa variable)
        }
    }
    public Texture2D Texture(string Path) {
        Texture2D Texture2D; //Un nombre no puede ser igual al nombre del Tipo de variable que usas. llamalo texture2D (con minuscula)
        byte[] FileData;
        if (File.Exists(Path)) {
            FileData = File.ReadAllBytes(Path);//Aqui simplemente das por echo que el archivo que lees es una imagen, y recoges los Bytes
            Texture2D = new Texture2D(1, 1); //Si tu textura no tiene nombre y es de 1 pixel por 1 pixel bien echo,
         
            if (Texture2D.LoadImage(FileData))
                return Texture2D;//y Aqui devuelves un Tipo.
        }
        return null;
    }

   
      Aqui tienes un Xml parser: http://dev.grumpyferret.com/unity/
   
   
      Aqui como funciona XmlSerializer: http://wiki.unity3d.com/index.php?title=Saving_and_Loading_Data:_XmlSerializer
   
   
      Suerte!
   


Corrigiendo esos errores ya funcionara??? Lo raro es que me dices que no puede funcionar pero yo creo que si funciona.Me Lee el xml bien y me guarda en la variable los datos del xml,las dos rutas de las imágenes y los dos.exe que tiene que ejecutar el programa.
 
El objetivo de mi programa es que por cada dato en el xml cree un botón.Ennel xml dentro de dato tengo la ruta de una imagen y de un .Exe
 
De momento me crea bien los botones,por cada dato me crea un botón me falta poner la imagen que le toca a ese botón y que al darle click ejecute el .Exe que le toca a ese botón
 
Maso menos creo que la imagen la puedo llegar a poner saber cómo puedo hacer para que ejecute el .Exe cada botón?
 
 
#20
General (Antiguo) / Obtener imagen de xml
Abril 03, 2017, 04:55:45 PM
Cita de: francoe1 date=1491139419¿Donde esta el error? 
   
   
      - Al parecer la lógica está muy bien el unico error que estoy notando es 

      Aca esta tomando un componente pero nunca haces uso de él.
   
   

newButton.GetComponent<AppButton>();

   
      Aca no encontramos con otro, estas asignando el sprite directamente al componente "Button", por eso no se visualiza el cambio, debería realizar el cambio al componente "Image"
   
   

newButton.image.sprite = imageSprite;

   
      Creo que eso son los errores.
   
   
      Otra cosita por las dudas ¿La función "public Texture2D Texture(string Path)" no te está devolviendo null siempre? si es asi podrias tener un error con la ruta de la imagen.
   


El fallo que me dices no es.Si en vede pasar el archivo xml paso la ruta de una imagen lo hace bien pero claro yo necesito que coja las rutas de los xml y lo que hace es intentar leer el xml entero como si fuera una imagen o algo asi...
 
Como puedo arreglar eso?
#21
General (Antiguo) / Obtener imagen de xml
Abril 02, 2017, 10:41:24 AM
Buenas.
 
Tengo un xml donde guardo las rutas de unas imágenes.
 
mi aplicación crea un botón por cada ruta que tengo en el xml puesto,pero no consigo que el botón se cree con la imagen que hay en las rutas ,se pone una imagen de ? que creo que es de las que tiene unity por defecto.
 
Alguien sabría ayudarme y decirme donde esta el fallo?
 
 
 
con esto leeo el xml (funciona bien)
 

 public Datos ReadXmlTest() {
        XmlSerializer serializer = new XmlSerializer(typeof(Datos));
        StreamReader reader = new StreamReader(xmlPath);
        Datos data = (Datos)serializer.Deserialize(reader);
        reader.Close();
        return data;
    }

 
y luego tengo esto otro para generar los botones por cada elemento en el xml (funciona bien) y luego la parte de poner la imagen que funciona mal..
 

 
 
 

  void Awake() {
        string path = "C:/datos.xml";
        XmlManager xmlMng = new XmlManager(path);
        data = xmlMng.ReadXmlTest();
        foreach (var juego in data.Juegos) {
            Button newButton = Instantiate(buttonPrefab);
            newButton.transform.SetParent(layout);
            newButton.GetComponent<AppButton>();
            Sprite imageSprite = new Sprite();
            Texture2D SpriteTexture = Texture(path);
            imageSprite = Sprite.Create(SpriteTexture, new Rect(, , SpriteTexture.width, SpriteTexture.height), new Vector2(, ), 100.0f);
            newButton.image.sprite = imageSprite;
        }
    }
    public Texture2D Texture(string Path) {
        Texture2D Texture2D;
        byte[] FileData;
        if (File.Exists(Path)) {
            FileData = File.ReadAllBytes(Path);
            Texture2D = new Texture2D(1, 1);
            if (Texture2D.LoadImage(FileData))
                return Texture2D;
        }
        return null;
    }

 
 
#22
General (Antiguo) / Ventana Exit?
Marzo 30, 2017, 05:35:04 PM
Buenas!
 
Tengo una aplicacion ,y arriba a la derecha tengo la tipica X para salir.Como puedo hacer que al darle a la X se abra una scena nueva pero sin tapar la que esta cargada ya? 
 
Lo que quiero es que al dar a la X salga una pestaña diciendo estas seguro que quieres salir?pero no quiero que tape la escena que estaba cargada anteriormente
#23
General (Antiguo) / foreach de prefabs
Marzo 30, 2017, 05:32:19 PM


Buenas. Tengo una funcion que lee datos de un xml que es esta:
 


private string xmlPath;
    public XmlManager(string xmlPath) {
        this.xmlPath = xmlPath;
}
 public Datos ReadXmlTest() {
        XmlSerializer serializer = new XmlSerializer(typeof(Datos));
        StreamReader reader = new StreamReader(xmlPath);
        Datos data = (Datos)serializer.Deserialize(reader);
        reader.Close();
        return data;
    }


lo que ago con eso es conseguir unas rutas de unas fotos y guardar todas las rutas en data.
 


Luego tengo esta clase
 


using System.Diagnostics;
using UnityEngine;
public class AppButton : MonoBehaviour {
    private Juego game;
    public void Init(Juego game) {
        this.game = game;
    }
    private void RunApp() {
        Process.Start(game.ruta);
    }
}


y luego tengo esta clase donde esta el foreach
 


private Datos data;
    public GameObject Button;
    void Awake() {
        string path = "C:/Users/datos.xml";
        XmlManager xmlMng = new XmlManager(path);
        data = xmlMng.ReadXmlTest();
        foreach (var juego in data.Juegos) {
            GameObject newButton = (GameObject)Instantiate(Button);
            newButton.GetComponent<AppButton>();
            //
            //
        }
    }


En la ultima clase donde estan las // tengo que LLamar al Init de AppButton con juego pero no se como hacerlo. Y aparte de eso como puedo hacer que por cada elemento que alla en el xml,se cree un boton con la imagen que hay en las rutas de los xml.
 


Espero explicarme bien soy nuevo en esto

#24
General (Antiguo) / C# Desesializar xml
Marzo 29, 2017, 05:55:45 PM

<libro>
  <libroEjemplo>
       <libro1>
          <nombre>Alfredo Reino</nombre>
          <email>alf@ibium.com</email>
       </libro1>
  </libroEjemplo>
  <libroEjemplo>
       <libro2>
          <nombre>Alfredo Reino</nombre>
          <email>alf@ibium.com</email>
       </libro2>
  </libroEjemplo>

 
Este es mi Xml. Necesito que los datos de nombre y email los pueda guardar en variables o algo para asignarlos a los botones que estan en otro .cs
#25
General (Antiguo) / C# Desesializar xml
Marzo 29, 2017, 05:30:27 PM


      
   

         

            
votar en contrahttp://es.stackoverflow.com/questions/58849/c-deserializar-xml-para-leer-y-recoger-datos#" style='margin: 0px auto 2px; padding: 0px; border: 0px; font-size: 1px; color: rgb(0, 119, 204); text-decoration: none; cursor: pointer; background-image: url("img/sprites.svg?v=5ab37de095d9"), none; background-size: initial; background-repeat: no-repeat; overflow: hidden; display: block; text-indent: -9999em; width: 40px; height: 30px; background-position: 0px -120px;' title="Click to mark as favorite question (click again to undo)" rel="external nofollow">favorito
            

                
            
         
      

         

            

               
                  Buenas. Tengo una aplicación en Unity y tengo una clase donde asigno a unos botones un texto. Quiero que los textos de los botones se cojan de un archivo xml. Tengo hecho esto para leer el XML pero no se como sacar los datos y llevarlos a la otra clase. Este es mi codigo :
               
               

Public void leerXml()
{
   datos libros = null;
   string path= @"C:\libros.xml"
   XmlSerializer serializer = nwe xmlSerializer(typeof(datos));
   StreamReader reader = new StreamReader(path);
   libros = (datos)serializer.deserialize(reader):
   reader.close
}

               
                  Creo que eso lo tengo bien y me lee los datos del xml,pero como puedo conseguirlos y llevarlos a otra clase para asignar a los botones los textos del xml?
               
            
         
      
#26


Buenas. Tengo el siguiente código que lee un xml ,y recoge los datos y los guarda en una variable.
 


private void leerxml(){
xElement rootnode= xelement.load(@"C:/xml.xml");
   foreach (xElement chlid in RootNode.Elements())
   {
       if(chield.Name.Localname.Equals("datos"))
       {
           string xml = child.Value.Tostring();
           Debug.Log(xml)
       }
   }
}


Mi Xml es este :
 


<libro>
  <libroEjemplo>
       <nombre>Alfredo Reino</nombre>
       <email>alf@ibium.com</email>
  </libroEjemplo>
  <libroEjemplo>
       <nombre>Alfredo Reino</nombre>
       <email>alf@ibium.com</email>
  </libroEjemplo>  
</libro>


En la variable xml,cuando ago el Debug.log(xml) me saca esto:
 


Alfredo Reino alf@ibium.com
Alfredo Reino alf@ibium.com


Necesito coger los datos separados,para que luego en otra clase los use,pero no se como hacer para coger los datos individualmente y luego poder usarlos individualmente para mostrarlos en diferentes sitios. Si alguien tiene alguna idea .. Gracias de antemano

#27
General (Antiguo) / Hola a todos
Marzo 28, 2017, 12:07:29 AM
Este es mi post de presentación. Saludos a todos.
#28
General (Antiguo) / Buenas a todos !!!
Marzo 27, 2017, 08:16:52 PM
¡Buenas! Tengo una pequeña aplicación en Unity, y necesito leer ficheros XML.
 
Mi código XML es muy simple:
 

<libro>
  <libroEjemplo>
       <nombre>Alfredo Reino</nombre>
       <email>alf@ibium.com</email>
  </libroEjemplo>
  <libroEjemplo>
       <nombre>Alfredo Reino</nombre>
       <email>alf@ibium.com</email>
  </libroEjemplo>  
</libro>

 
¿Cómo puedo conseguir que Unity lea el XML y guarde en variables los datos de nombre y e-mail?
 
Gracias antemano.