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 - fulanodetal33

#1
Pues ya lo he traducido todo a C# y ha funcionado bien.Por lo general no hay un cambio muy drástico de java a C# en unity, y he tenido suerte con eso.
 
Sólo necesitaba entender como cambiaban las variables y algunas cosas, pero lo he conseguido.
 
Lo malo es que tenia un montón de cosas hechas en java y ahora me toca volver a empezar de cero con todos los códigos que tenia
 
GRACIAS a todos! me habéis sido de gran ayuda!
#2
pues muchas gracias, iré aprendiendo ahora en c# 
 
GRACIAS!
#3
Gracias por contestar lightbug
 
Entonces si yo tengo en Js :
 



   
      var gravedad : float = 40.0;
   

[/quote]
 
En C# seria así.....?
 



   
      float  gravedad = 40.0;
   

[/quote]
 
este puede que este bien porque es el mas fácil, pero con este otro cambia porque no tengo ni idea..
 
JS :
 



   
      private var moveDerecha : Vector2 = Vector2.zero;
   

[/quote]
 
C# seria asi ?
 



   
      private Vector2 moveDerecha = Vector2.zero;
   

[/quote]
 
 
 
¿alguien podría traducirme a C# estas tres variables? solo seria para entenderlo
 

private var anim : Animator;
private var moveDerecha : Vector2 = Vector2.zero;
var velocidad : float = 3.0;

 
 
#4
Hola a todo el mundo.
 
Me he descargado la última versión de unity que es el 5, pero desgraciadamente javascript ya no existe en unity ,y yo me acostumbré ha utilizar ese tipo de código.
 
Éste código funciona muy bien para lo que quiero hacer, pero está en java y en unity 5 no funciona, ahora me toca aprender en c# pero necesito una ayuda con este código.
 
¿Alguien podría ayudarme en traducir este script  en C# ?, o decirme aunque sea las cosas que cambian?, por lo menos las variables
 
Se que de Java a C# no cambia mucho el código pero necesito acostumbrarme. Os dejo el código debajo y puede que sea útil para otros usuarios, alomejor no es necesario cambiarlo todo, pero se que 
 
las variables si cambian mucho y no se como ponerlas...¿alguien puede ayudarme aunque sea con las variables?, sería un comienzo GRACIAS
 
 
 

//--------------------VARIABLES---------------------------------------
private var anim : Animator;
private var moveIzquierda : Vector2 = Vector2.zero;
private var moveDerecha : Vector2 = Vector2.zero;
private var moveGravedad : Vector2 = Vector2.zero;
var gravedad : float = 40.0;
var velocidad : float = 3.0;
//---------------------FUNCIONES--------------------------------------
function Start () {
anim = gameObject.GetComponent (Animator);
}
function Update () {
controles();
}
function controles(){
var controller : CharacterController = GetComponent(CharacterController);
if (controller.isGrounded ) {
//---------------------------DERECHA-------------------------------
moveDerecha = Vector3((Input.GetAxis("BotonDerecho")), 0, 0);
moveDerecha = transform.TransformDirection(moveDerecha);
moveDerecha *= velocidad;
if(Input.GetAxis("BotonDerecho")){
anim.SetTrigger("rotari");
anim.SetBool("caminard",true);
}
else if (!Input.GetAxis("BotonDerecho")){
anim.SetBool("caminard",false);
}
if (anim.GetCurrentAnimatorStateInfo (0).IsName("caminar Drcho")){
controller.Move(moveDerecha * Time.deltaTime);
anim.ResetTrigger("rotari");
}
//---------------------------IZQUIERDA-------------------------------
moveIzquierda = Vector3((Input.GetAxis("BotonIzquierdo")), 0, 0);
moveIzquierda =- transform.TransformDirection(moveIzquierda);
moveIzquierda *= velocidad;
if(Input.GetAxis("BotonIzquierdo")){
anim.SetTrigger("rotard");
anim.SetBool("caminari",true);
}
else if (!Input.GetAxis("BotonIzquierdo")){
anim.SetBool("caminari",false);
}
if (anim.GetCurrentAnimatorStateInfo (0).IsName("caminar Izq")){
controller.Move(moveIzquierda * Time.deltaTime);
anim.ResetTrigger("rotard");
}
//-------------------------------------------------------------------
if (anim.GetCurrentAnimatorStateInfo (0).IsName("rotar Izq")){
anim.ResetTrigger("rotard");
}
if (anim.GetCurrentAnimatorStateInfo (0).IsName("rotar Drcho")){
anim.ResetTrigger("rotari");
}
}
//---------------------------aplicar movimiento de gravedad al character controller------------------------------------
moveGravedad.y -= gravedad * Time.deltaTime;
controller.Move(moveGravedad * Time.deltaTime);
}

 
 
#5
ya, pero yo también uso el SetBool por lógica....eso está claro...a ver , como lo digo para que se entienda...si una animación esta en verdadero y hay otra que la quiero pasar a falso como lo hago?: (por cierto, estoy utilizando animaciones con sprites 2d)(esta condición esta clarisimo que no vale)...if(anim.setbool("caminar", true)){anim.setbool("rotar",false);} es igual ya encontraré algo pero lo que no se que cojo...será esto if ( this.Animator.GetCurrentAnimatorStateInfo(0).Is Name("nombre de animación").{}
#6
¿que si quiero hacerlo en código por algo en concreto?....pues si...Lo que pretendo es que cuando esté reproduciendo una animación pase a una nueva acción mediante la condición, que es como te pongo en el código...if (animation.IsPlaying("nombre de animación")){                                                         animation.play ("correr por ejemplo")                                                                                                           }    si está reproduciendo una animación...hace otra cosa...a lo mejor  si que se puede desde el inspector, lo iré mirando...pero que es this.Animator.GetCurrentAnimatorStateInfo(0).Is Name("nombre de animación").....??Por cierto gracias por el video
#7
¿alguien sabría decirme para que sirven y algún ejemplo?    GRACIAS COMPAS!!!
#8
Pues muchas gracias por tu gran explicación http://unityspain.com/profile/18472-adngel/?do=hovercard&referrer=http%253A%252F%252Funityspain.com%252Ftopic%252F35332-%25C2%25BFc%25C3%25B3mo-subir-a-la-plataforma-superior%252F" title="Go to Adngel's profile" id="ips_uid_5" style="box-sizing: border-box; color: inherit; text-decoration: none; outline: 0px; background-color: transparent;" href="<___base_url___>/profile/18472-adngel/">Adngel!!Pues utilizar un Slerp no sería una mala idea, sería una opción mas. Veo que tu explicación se basa mucho mas en el 3d y es normal, ya que tu proyecto es en 3d,  va de p...madre saber todo esto para cuando se me ocurra hacer un videojuego en 3d, pero de momento seguiré con mi proyecto que yo soy mas de los antiguos...Nunca he llegado a programar este tipo de cosas, pero lo entiendo bastante bien y ayuda ha seguir intentando como poder hacerlo en 2DPor el momento se me ocurre utilizar un collider justo debajo de la plataforma y que active una variable boolean. (al colisionar, la variable se pone en true) e indica que ese sería el punto de referencia donde se puede enganchar en la parte superiorEn ese momento que el personaje 2D (Sprite) salta en vertical y colisiona con otro collider que está en la esquinita de la parte superior de la plataforma,  desactivo la gravedad o el rigidbody para que se detenga o se quede inmóvil, (y por supuesto reproduciendo la animación de estar enganchado colgando) aunque también debería indicarle la posición con transform ,por ejemplo:Como me cuentas tu utilizas huesos de las manos para agarrarse con "MatchTarget" pero yo no puedo hacer eso, así que no tengo mas remedio  que utilizar un transform para que las manos se queden justo en la esquina de la plataforma y parezca que esté enganchado.(con las manos me refiero que el sprite completo esté colocado de tal manera que parezca que esté enganchado a la plataforma)Cuando pulso el botón up para desplazarse hacia arriba utilizar un Lerp y llegar hasta la parte superior....Pues no sé si estoy en lo correcto o es una chapuza lo que estoy diciendo pero seguiré hasta que lo consiga JAJAJAJAJA.Por eso pregunté al principio del foro si se conocía algún tutorial para conocer como se hace realmente, cual sería el método exacto para hacer este tipo de cosas.Con el 3D está totalmente claro,y hay un huevo de tutoriales que explican todo esto ,asi es como se hace, como tu lo dices Adngel  y hay un método exacto para hacerlo, pero en 2D parece que la cosa se complica, y es extraño...ya que son los métodos mas antiguos en los juegos de plataformas...GRACIAS DE NUEVO Adngel!!!! Suerte con tu proyecto!!!!  
#9
OK, Braltor, probaré transform en update!! eres mu grande!! Cuando termine éste problema y funcione correctamente lo publicaré en unityspain para los que les interese este tema GRACIAS POR CONTESTAR!!
#10
Claro!! ya lo estuve viendo y el IK eso es para el 3d!! yo intento hacer un juego en 2DAlomejor no debí colocar la imagen del tomb raider en la imagen que he enviado para preguntar en el foro, pero sólo era un ejemplo, he puesto claramente que intento hacer un juego en 2DLA idea sería colocar un collider2d justo en la esquina de la plataforma y apartir de ahí cuando salte el character y colisione con collider2d programar y quitar la gravedad (no se si sería una buena idea) el problema es que cuando esté enganchado a la plataforma este suba...mando una imagen de como podría ser :Gracias Braltor me has servido de bastante ayuda !!! menos mal que hay compañeros que si van con intenciones de ayudar  
#11
Pues mira, tres años sin saber... pues alomejor es porque estoy mas ocupado que tu y no tengo tiempo para aprender.si no te gustan mis preguntas para que coño contestas? para vacilarme?pero no  hace falta que vengas a presumir de lo avanzado que eres !!!Te parecen que mis preguntas son ridículas??? pues te formulo una última Rey Arturo!!¿para eso te metes en foros, para presumir y vacilar a la peña?
Bueno...paso del rey Arthure ese..... gracias por contestar  http://unityspain.com/profile/18127-francoe1/?do=hovercard&referrer=http%253A%252F%252Funityspain.com%252Ftopic%252F35332-%25C2%25BFc%25C3%25B3mo-subir-a-la-plataforma-superior%252F" title="Go to francoe1's profile" id="ips_uid_6" style="box-sizing: border-box; color: inherit; text-decoration: none; outline: 0px; background-color: transparent;" href="<___base_url___>/profile/18127-francoe1/">francoe1 ,los movimientos básicos mas o menos los tengo claros,  la IK cinemática inversas se que eso lo tiene el 3d studio en animación porque yo controlo mas el tema del diseñopero bueno parece que hoy la gente sólo sabe decirme que no valgo y no sirvo y que empiece por lo básico, este es el foro de unityspain jajajajajajaj    ¡¡¡madre mia , vaya tela!!!!!se que no me has dicho nada http://unityspain.com/profile/18127-francoe1/?do=hovercard&referrer=http%253A%252F%252Funityspain.com%252Ftopic%252F35332-%25C2%25BFc%25C3%25B3mo-subir-a-la-plataforma-superior%252F" title="Go to francoe1's profile" id="ips_uid_6" style="color: inherit; box-sizing: border-box; text-decoration: none; outline: 0px; background-color: transparent;" href="<___base_url___>/profile/18127-francoe1/">francoe1 , pero me ha encendido el  Arthure de los huevos ese...
#12
ok, lo de las animaciones y los transform está totalmente claro!! eso ya está mas que dominado  y los colliders también...y se sabe que con todo eso se puede hacer una infinidad de cosas.Pero creo que esto es bastante distinto a cualquier colisión o animación.el tema es el ¡¡¡¡ ENGANCHE !!! (el personaje se agarra a la plataforma, juntos, pegados)  que es lo que intento averiguar como muestro en las imágenes Pues intentaré averiguar que es el el Root Transform Position , (de momento ya tengo una cosa) a ver si voy avanzando con esto...porque no hay manera.... GRACIAS
#13
Está totalmente claro que lo que me explicas, tiene su lógica pero no es tan fácil como parece, porque el character debe coincidir justo en la esquinita de la plataforma mientras sube y vamos.. que lo que quieres decirme es que tiene su truco y que no hay nada en concreto...Lo lógico es utilizar colisiones y a partir de eso realiza una acción...pero claro...no es tan fácil, porque el character controller debe colocarse justo en la plataforma superior...es decir : Ejemplo:al colisionar el player con un collider, y pulse el botón Up debería poner un translate al character controller en Y para que éste pase a la plataforma superior y mientras va subiendo también reproduce la animación etc... pero todo debe coincidir entre el character y con la plataforma que eso es lo dificil!!!!!!!¿y debe ser esta la manera, no existe otra? ¿no tienes idea de como se puede llamar? ¿todo el mundo lo hace de esa manera?¿tu como lo harías para que se enganche a la plataforma?GRACIAS POR CONTESTAR COMPAÑERO!!!!
#14
Hola Máquinas de Unity Spain llevo mucho tiempo intentar resolver este tema pero no consigo encontrar nada de estoA ver si alguien me puede ayudar Gracias!!!!Os mando una imagen donde explico mi dudaGRACIAS COMPAS!!!!
#15
Hay un montón de videotutoriales de este tipoA mi me enseñó un tipo llamado MS Jocyf una máquina el chaval!!!con estos vídeos son mas que suficientes para aprender sobre scores y barras de vida 
eature=oembed" frameborder="0" allowfullscreen="true">