Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Clases en Unity

Iniciado por yaneisy, Diciembre 18, 2015, 02:17:48 PM

Tema anterior - Siguiente tema
hola como llevo poco tiempo en esto de la programacion en c# y en unity, pues necesito ayuda. Yo pues tengo dos clases en c#, una se llama Lector.cs (para leer un archivo txt donde tengo almacenadas las posiciones (x,y,z) de varias imagenespanoramicas con sus caracteristicas) y otra clase Panorama.cs para crear objetos donde guardar esas posiciones, pero como he hecho esto solamente en VisualEstudio 2015 a la hora de llevarlo a Unity 5.2.1f pues no se si ocurren cambios en el formato de las clases que me funcionan. Ya que luego Necesito en unity crear esferas en distintas posiciones que estan guardadas en el objeto Panorama. Cualquier ayuda sobre el tema me sera util. 

no ha cambiado la forma de posicionar esferas

hola, las clases si son en el mismo lenguaje tienen exactamente el mismo formato siempre indistintamente de la plataforma que utilices; es decir que si creas una clase en C# sobre Visual Studio, sera exactamente igual que en C# sobre Unity o en C# con un compilador para una aplicacion de lineas de comandos.Otra cosa son las librerias que utilices (como UnityEngine en el caso de la mayoria de ocasiones cuando haces un script para Unity) porque una libreria puede ser exclusiva de una plataforma exceptuando la libreria System. Pero en ese caso tendras un problema por no poder utilizar funciones o metodos, nunca sera por el formato de la clase.

Diciembre 18, 2015, 02:54:14 PM #3 Ultima modificación: Junio 05, 2016, 06:25:41 PM por pioj
Yo no me refiero a la forma de posicionar esfera, lo que digo es que en VisualEstudio tengo las clases declaradas asi:
 

Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LesctorDePanoramas
{
    class MainClass
    {
        public static void Main(string[] arg)
        {
            Lector Programa = new Lector();
            Programa.ejecutar();
        }
    }
}
 
***********************************************************************
Lector.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO;
 
namespace LesctorDePanoramas
{
    public class Lector
    {
        private ArrayList Registros = new ArrayList();
        private Panorama Panorama = new Panorama();
        public Lector()
        {
            this.Registros = new ArrayList();
            this.Panorama = new Panorama();
        }
        public void ejecutar()
        {
            leer();
            imprimirR();
        }
        private void leer()
        {
            string ubicacionArchivo;
            try
            {
                /*Console.WriteLine("Dame la ubicacion del archivo");
                ubicacionArchivo = Console.ReadLine();*/
                int scala = 1000;
                TextReader Lector;
                Lector = new StreamReader("panoramas.txt");
                //StreamReader Lector = new StreamReader(ubicacionArchivo);
                string lineas = Lector.ReadLine();
                while (lineas != null)
                {
                    char[] delimitador = { ';' };
                    string[] palabras = lineas.Split(delimitador);
                    Panorama p = new Panorama();
                    p.x = palabras[11];
                    p.z = palabras[13];
                    Registros.Add(p);
                    lineas = Lector.ReadLine();
                }
                Lector.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception" + e.Message);
            }
            finally
            {
                Console.WriteLine("Lectura terminada");
            }
        }
        private void imprimirR()
        {
            foreach (object Registro in Registros)
            {
                this.Panorama = (Panorama)Registro;
                imprimirtodos();
            }
        }
        private void imprimirtodos()
        {
            // Console.WriteLine("________________________________");
            Console.WriteLine(Panorama.x);
            Console.WriteLine(Panorama.z);
            Console.WriteLine("________________________________");
            
        }
    }
}
***********************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Assets
{
    public class Panorama
    {
        public string file_name;
        public string file_type;
        public string camera_type;
        public string camera_subtype;
        public string sequence_id;
        public string timestamp;
        public string GPS_time;
        public string GPS_timeus;
        public string lat;
        public string lon;
        public string alt;
        public string x;
        public string y;
        public string z;
        public string trigger_id;
        public string frame_id;
        public Panorama()
        {
        }
}
}

 
 
 
Nota: Entonces en untity para usar estas cases es mi duda  ya que yo por aqui tendria las posiciones (x,z) para cuando vaya a crear mis esferas, ya que no tengo mucha experiencia por eso es que necesito de ustedes.
 
Cita de: yaneisy date=1450446854Yo no me refiero a la forma de posicionar esfera, lo que digo es que en VisualEstudio tengo las clases declaradas asi:
      
      
         Program.cs
      
      
         using System;
         using System.Collections.Generic;
         using System.Linq;
         using System.Text;
         using System.Threading.Tasks;
      
      
         namespace LesctorDePanoramas
         {
             class MainClass
             {
                 public static void Main(string[] arg)
                 {
                     Lector Programa = new Lector();
                     Programa.ejecutar();
      
      
                 }
      
      
             }
      
      
         }
      
      
         
         ***********************************************************************
      
      
         Lector.cs
      
      
         using System;
         using System.Collections.Generic;
         using System.Linq;
         using System.Text;
         using System.Threading.Tasks;
         using System.Collections;
         using System.IO;
      
      
         
         namespace LesctorDePanoramas
         {
             public class Lector
             {
                 private ArrayList Registros = new ArrayList();
                 private Panorama Panorama = new Panorama();
      
      
                 public Lector()
                 {
                     this.Registros = new ArrayList();
                     this.Panorama = new Panorama();
                 }
      
      
                 public void ejecutar()
                 {
                     leer();
                     imprimirR();
                 }
      
      
                 private void leer()
                 {
                     string ubicacionArchivo;
      
      
                     try
                     {
                         /*Console.WriteLine("Dame la ubicacion del archivo");
                         ubicacionArchivo = Console.ReadLine();*/
                         int scala = 1000;
                         TextReader Lector;
                         Lector = new StreamReader("panoramas.txt");
      
      
                         //StreamReader Lector = new StreamReader(ubicacionArchivo);
      
      
                         string lineas = Lector.ReadLine();
      
      
                         while (lineas != null)
                         {
                             char[] delimitador = { ';' };
                             string[] palabras = lineas.Split(delimitador);
      
      
                             Panorama p = new Panorama();
                             p.x = palabras[11];
                             p.z = palabras[13];
      
      
                             Registros.Add(p);
                             lineas = Lector.ReadLine();
                         }
                         Lector.Close();
      
      
                     }
      
      
                     catch (Exception e)
                     {
                         Console.WriteLine("Exception" + e.Message);
                     }
                     finally
                     {
                         Console.WriteLine("Lectura terminada");
                     }
                 }
                 private void imprimirR()
                 {
                     foreach (object Registro in Registros)
                     {
                         this.Panorama = (Panorama)Registro;
                         imprimirtodos();
                     }
                 }
                 private void imprimirtodos()
                 {
                     // Console.WriteLine("________________________________");
                     Console.WriteLine(Panorama.x);
                     Console.WriteLine(Panorama.z);
                     Console.WriteLine("________________________________");
                     
                 }
             }
      
      
         }
      
      
         ***********************************************************
      
      
         using System;
         using System.Collections.Generic;
         using System.Linq;
         using System.Text;
      
      
         namespace Assets
         {
             public class Panorama
             {
                 public string file_name;
                 public string file_type;
                 public string camera_type;
                 public string camera_subtype;
                 public string sequence_id;
                 public string timestamp;
                 public string GPS_time;
                 public string GPS_timeus;
                 public string lat;
                 public string lon;
                 public string alt;
                 public string x;
                 public string y;
                 public string z;
                 public string trigger_id;
                 public string frame_id;
      
      
                 public Panorama()
                 {
                 }
      
      
         }
      
      
         }
      
      
          
      
      
          
      
      
         Nota: Entonces en untity para usar estas cases es mi duda  ya que yo por aqui tendria las posiciones (x,z) para cuando vaya a crear mis esferas, ya que no tengo mucha experiencia por eso es que necesito de ustedes.
      
   

Pues como veia que la estructura en unity con las clases era asi:
 

using UnityEngine;
using System.Collections;
 
public class Prueba : MonoBehaviour {
    public float fieldOfView;
 
    // Use this for initialization
    void Start () {
       
        }
 
    // Update is called once per frame
    void Update()
    {
}

 
Pues pense que debia hacer cambios a las clases que ya tenia.

pues incluye esas clases en un proyecto de Unity y si no te da error entonces lo soporta

Piensa que es C# en NET 2.0 Todo lo que soporte esta versión está contemplado.

Etiquetas: