En primer lugar quisiera corregirte y decirte que Java no es lo mismo que JavaScript y puede dar lugar a que te den codigo escrito en Java que nada tiene que ver con JavaScript, y luego vienen los errores, y el "no funciona". Y ahora vamos al meollo de la cuestion. Te pongo varios ejemplos escritos en 3 codigos para que vayas encontrando la relacion.
Como podras comprobar existe una diferencia abismal entre Java y JavaScript, y ahi radica la importancia de diferenciar estos dos lenguajes. Otra cuestion es que el lenguaje JavaScript que usa unity no es el JavaScript como realmente seria, sino que es una adaptacion del lenguaje para que el interprete interno de unity pueda entenderlo. Y seguramente que el codigo que te he puesto como explicacion unity no seria capaz de interpretarlo y tiraria errores por todas partes.
No se me ocurren ejemplos mas extensos para que puedas ir captando la idea del cambio que existe en usar el lenguaje interpretado en JavaScript con el lenguaje C# usados en unity.
Un saludo.
// Ejemplo en Java
public class MiClase{
private float _numero;
public boolean boleano = false;
public double numeroLargo;
public string cadenaTexto;
public MiClase(){} // contructor de la clase sin parametros
public MiClase(float pNumero){ //constructor de la clase con parametro
this._numero = pNumero;
}
public void MiMetodo(){ // ejemplo de un metodo
System.out.println("Esto lo pinto en consola");
}
public float getNumero(){ // ejemplo de una funcion
return this._numero;
}
public static void Main(string args[]){
// esta funcion es la que se ejecuta para lanzar la aplicacion
}
}
// ejemplo en JavaScript
function MiObjeto(){ // construccion de un objeto en JavaScript
this.initialize.apply(this, arguments);
};
MiObjeto.prototype.initialize = function(){ // constructor del objeto
this._param1 = 1;
this._param2 = "texto";
this._param3 = true;
};
Object.defineProperties(MiObjeto.prototype, { // getters de las propiedades del objeto
param1: { get: function() { return this._param1; }, configurable: true },
param2: { get: function() { return this._param2; }, configurable: true }
});
MiObjeto.prototype.miMetodo = function(valor){ // metodo del objeto con parametros
this._param2 = valor;
};
MiObjeto.prototype.miFuncion = function(){ // funcion del objeto
return this._param3;
}
//ejemplo en C#
public class MiClase{
private float _numero1;
private int _numero2;
private string _texto;
private bool _boleano;
public int numeroPublico = 10;
public MiClase(float n1, float n2, string txt, bool bol){ // constructor de la clase con parametros
_numero1 = n1;
_numero2 = n2;
_texto = txt;
_boleano = bol;
}
public void MiMetodo(){ // metodo de la clase
Debug.Log("Esto lo pinta por consola");
}
public bool IsActive(){ // funcion de la clase
return _boleano;
}
}
Como podras comprobar existe una diferencia abismal entre Java y JavaScript, y ahi radica la importancia de diferenciar estos dos lenguajes. Otra cuestion es que el lenguaje JavaScript que usa unity no es el JavaScript como realmente seria, sino que es una adaptacion del lenguaje para que el interprete interno de unity pueda entenderlo. Y seguramente que el codigo que te he puesto como explicacion unity no seria capaz de interpretarlo y tiraria errores por todas partes.
No se me ocurren ejemplos mas extensos para que puedas ir captando la idea del cambio que existe en usar el lenguaje interpretado en JavaScript con el lenguaje C# usados en unity.
Un saludo.