Noticias

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

[Duda] KeyCode

Iniciado por Null, Noviembre 08, 2016, 09:23:53 PM

Tema anterior - Siguiente tema
Duda rápida...
 
Qué es más conveniente? 

Usar:
 

if (Input.GetKey(KeyCode.A)) {
 
}

 
o usar:
 

if (Input.GetKey("A")) {
}

 
?

Existe alguna diferencia más allá de la sintaxis?

Por cierto, hola!

En el caso de "A" no veo diferencia. En el caso de códigos no alfanuméricos (símbolos y teclas especiales) sería más complicado como código en string debido a las conversiones. Por tanto yo creo que tienen incorporado todo el apartado alfanumérico por coherencia al tener el resto de símbolos.

osea para algo basico alfabatico como letra de teclado sirve el segundo pero al momento de hacer algo mas complejo o de usar numeros ya no te sirve el segundo si no mas el primero.

Lo más conveniente es usar botones y ejes previamente definidos desde el Input Manager, para organizarse mejor. 
 
Siempre he considerado una práctica errónea el poner valores literalmente, dentro de código...

A mi entender es como dice Pioj, cuando recien arrancas uno tiende a definir al boleo que usa, pero si terminas un juego y queres que el jugador elija sus entradas te conviene determinar todo lo que vas a usar en las opciones del proyecto (Input). Por ejemplo los ejes del mouse ya estan ingresados en Input, el famoso Fire1 que creo que es el click izq, Jump y demas.
 
Pd: yo uso el "KeyCode.A" de las opciones que pusiste
 
 

Noviembre 14, 2016, 10:45:47 PM #5 Ultima modificación: Noviembre 14, 2016, 10:46:02 PM por kingtrase
haz lo que @pioj dice, pero si lo quieres hacer a tu manera lo mas eficiente es 'KeyCode.A' ya que es un Enum dentro del namespace UnityEngine, y sera compilado, si lo haces por el segundo metodo lo estas haciendo via string ->
 

if (Input.GetKey("A"))

 
, y eso genera gasto en memoria, seria todavia mejor usarlo via char->
 

if (Input.GetKey('A')) //use comillas simples

 
Un Saludo.

····>Desarrollando un videojuegos online-arcade para Android.


····>Programador en:C,C#,VB.net,PHP,HTML5,SQL,JS,Ruby.


····>Trabajando en: Desarrollo de paginas web y bushistudios.


                    ๑۩۞۩๑_(▀▄)KINGTRASE()_๑۩۞۩๑ 



Muchas gracias a todos!

Tendré en cuenta usar KeyCode.

Etiquetas: