Está en la página 1de 9

Comandos tiles C# en Unity 5.

Activar/Desactivar Objetos
gameObject.SetActive(true);

De manera ms especfica

Ventana.SetActive(true);
GameObject.FindWithTag("House").activeSelf = false;

Cargar Escenas
using UnityEngine.SceneManagement;
SceneManager.LoadScene("Escena1");

Versiones anteriores
Application.LoadLevel("Escena1");

Funcin WaitForSeconds modo de ejemplo Uso de Corrutina


public string SceneName;
public int seconds = 6;
void Start() {
StartCoroutine(PassLevel());
}
IEnumerator PassLevel() {
yield return new WaitForSeconds(seconds);
Application.LoadLevel(SceneName);
}
Agregar GameObjects en un cdigo

public GameObject Weapon1;

Activar un botn

void OnMouseDown() {} for single touch events

Activar botones multi touch


using UnityEngine.EventSystems;
Ejemplo
public class DoBajo : MonoBehaviour, IPointerDownHandler, IPointerU
pHandler {
IPointerDownHandler // cuando el puntero se pulsa
IPointerUpHandler // cuando el puntero deja de tocar
public void OnPointerDown(PointerEventData evenData)
{

}
public void OnPointerUp(PointerEventData evenData)
{

}
Para revisar ms eventos
http://docs.unity3d.com/Manual/SupportedEvents.html
Cerrar una aplicacin

Application.Quit ();

Hacer reproducir un Audio


GetComponent<AudioSource> ().Play ();

Pasar a una escena hasta que termine el audio


Invoke("CargarNivelJuego",GetComponent<AudioSource>
().clip.length);

Utilizando atributos para personalizar las variables del inspector


Dato extra: si pones un @ antes del texto, cada salto (enter), se
considera una separacin de la cadena de texto
Ejemplo :
public string saludo = "Hola jugador, \nUna larga aventura nos espera
";
Es lo mismo que
public string saludo = @"Hola jugador,
Una larga aventura nos espera";
Primer atributo [Header("Header")]
Header = encabezamiento
Este atributo lo que hace, es darle un ttulo a las variables pblicas,
para agruparlas, consiguiendo as un mejor orden.
Se agrega antes de la variable
Nota: se puede agregar ms de un atributo a una variable.
Segundo atributo [Range(1, 5)]
A la variable pblica se le otorga un rango determinado, por el valor
establecido, a eleccin del usuario.
Tercer atributo [Multiline(3)] (afecta a las variables tipo cadena,
sirve para mostrar ms de una lnea)
Cuarto atributo [TextArea(3,6)] (nmero mnimo altura de lneas,
y como mximo elegir el valor).
Quinto atributo [HideInInspector], sirve para esconder una
variable pblica del inspector
NOTA IMPORTANTE: cuando creas una variable pblica, esta puede
ser usada, para diversos scripts.
Sexto atributo [SerializeField], sirve para mostrar una variable
privada del inspector
Sptimo atributo [Space(10)], genera una separacin entre las
variables pblicas, el valor (10), indicas la cantidad de pixeles, en
relacin al espacio.
Octavo atributo [Tooltip(Vidas del jugador \n entre 1 y 5)],
aparece un mensaje en una pequea casilla, cuando el puntero del
ratn se asoma a la variable especfica.
Noveno atributo [HelpURL(poner una direccin de ayuda)],
este atributo lo que hace es redirigirte a una pgina con informacin
extra, en relacin al componente.
NOTA: este atributo se pone, arriba de la clase pblica (public class).
Dcimo atributo [DisallowMultipleComponent] para decirle a
Unity que solo queremos un componente por objeto. Se integra en el
cdigo antes de la clase pblica
Atributo extra [RequireComponent(typeof(Rigidbody2D)], este
atributo exige que se tenga tal componente, para que funcione, en el
caso que el componente ya tenga un rigidbody por ejemplo, este no
se agregara.

yield return null; // lo que hace, es pausar la ejecucin hasta


el siguiente fotograma
Nota: pueden haber corrutinas dentro de corrutinas. Antes de
ejecutar la corrutina dentro de la corrutina, debes escribir
yield return

For (float tiempo =Time.time; Time.time tiempo < 2f;)


{ yield return null;
} // este comando hace que pasen 2 segundos de espera antes de
que sigan las siguientes acciones.
yield return new WaitForSeconds(2f); // consigue lo mismo en
relacin a la instruccin anterior, pero con mucho menos cdigo.
yield return new WaitForFixedUpdate();
yield return new WaitForEndOfFrame();
void OnEnable(){
StartCoroutine(SaludarCadaSegundo();
} //se activa el componente
void OnDisable(){
StopAllCoroutines();
} //desactiva todas las corrutinas existentes

Si se desea detener una corrutina en especial, la instruccin anterior


no sera la ms recomendable, lo mejor sera hacer uso de una
variable booleana. Por ejemplo bool detener;
yield break; // sirve para que deje de funcionar la corrutina, se
termina el proceso en s.
break: tambin sirve, pero solo si est dentro de un bucle
StartCoroutine(nombre); // inicia una corrutina especfica
StopCoroutine(nombre); // finaliza una corrutina especfica
Ejemplo cambio de luz interpolado:
luz.color = Color.Lerp(Color.white, Color.blue, Mathf.PingPong(Time.ti
me / 2, 1));
yield return null; // lo que hace, es cambiar de blanco a azul y
viceversa, bajo el efecto de una interpolacin

void update(){} el void update, genera 30 fotogramas por segundo,


si no se desea este tipo de velocidad de fotogramas, se puede reducir
la cantidad de fotogramas, aplicando una corrutina.
(0.2f), seran 5 fotogramas por segundo

public void FixedUpdate(){} // sirve para integrar acciones al


motor de fsicas, (movimiento de algn objeto por ejemplo)
float MovimientoHorizontal = Input.GetAxis ("Horizontal"); // se
obtiene el reconocimiento de movimientos horizontales
float MovimientoVertical = Input.GetAxis ("Vertical"); // de la misma
forma, podemos obtener el reconocimiento de movimientos verticales

Nota: Valores entre 1 a -1, 0.5, mitad de velocidad.

Rigidbody rb; // se define una variable de cuerpo rgido.

- void Awake(){} // este es el cdigo de inicializacin, que


usaremos para obtener referencias, a otros componentes.

GetComponent<TipodelComponente>() // Sirve para obtener una


referencia a otro componente del mismo objeto en el que est
colocado este script.

Vector3 movimiento = new


Vector3(MovimientoHorizontal,0,MovimientoVertical);

- Public GameObject nombredelavariable // Sirve para


incorporar un objeto que es necesario enlazarlo a un cdigo

- Void LateUpdate(){} // Igual que el update, pero que se


ejecuta, justo despus de todos los updates

transform.Rotate (rotacion * Time.deltaTime); // Haces rotar un


objeto utilizando, una fase de tiempo, (entre fotogramas).

- public void OnTriggerEnter(Collider other){} // Se utiliza


cuando un objeto colisiona con otro objeto que sea considerado
como Istrigger
Destroy(other.gameObject); // de esta manera se destruye el
objeto colisionado.
// Tip: cuando un objeto tiene un collider, y est en constante
movimiento, es recomendable definir si es un collider esttico o
variable, para as optimizar el juego, esto se hace, aplicando a tal
objeto un rigidbody.
La opcin Is kinematic (dentro de rigid body), hace que al objeto no se
le aplique fuerzas. ->resultado colliders considerados dinmicos.
- Using UnityEngine.UI; // se habilita el cdigo de botones o textos
- Public Text puntuacion; // se enlaza un objeto de texto
- puntuacion.text = "Puntuacion: " + contador; // de esta forma se
actualizara un puntaje
Mtodo:
- private void nombredelmetodo(){} // creas un mtodo para
reciclar cdigo

- nombredelmetodo(); // llamada del mtodo

win.gameObject.SetActive(False); // cualquier objeto, texto o otra


cosa, puede ser activado o desactivado, haciendo uso del
gameObject.SetActive(), true o false.
Input // (ingreso de una tecla concreta)

Input.GetKeyDown(KeyCode.Escape) // verifica si se presiono el


botn de escape

Using UnityEngine.UI;

public Slider healthSlider; // Slider genera una barra de vida, se


encuentra en los elementos UI

Lerp; // se usa para interpolar dos valores


Ejemplo
damageImage.color = Color.Lerp (damageImage.color, Color.clear, flashSpeed *
Time.deltaTime);

public static int score; // de esta manera, al incorporar static, es una variable
publica que puede llamarse por medio de otros scripts. Variable global score

anim.SetTrigger("GameOver"); // comando que hace activar el cualquier tipo trigger

enemyImage.enabled = false; // desactivas algn componente

EnemyHealthSlider.gameObject.SetActive(false); // accedes al gameobject para


desactivar el slider.

using UnityEngine.EventSystems;
!EventSystem.current.IsPointerOverGameObject(-1) // cuando quieres descartar
que se ejecute una accin en un objeto especfico

void LoadState()
{
MusicVolumeSlider.value = PlayerPrefs.GetFloat("MusicVolume", 1f);
FXVolumeSlider.value = PlayerPrefs.GetFloat("FXVolume", 1f);

void SaveState()
{
PlayerPrefs.SetFloat("MusicVolume", MusicVolumeSlider.value);
PlayerPrefs.SetFloat("FXVolume", FXVolumeSlider.value);
}

// el primero sirve para cargar informacin, y el segundo guarda esa informacin.

Assets -> Import package -> Effects


Add component -> Image effets // puedes agregar efectos a la cmara

En el update

m_MovementInputValue = Input.GetAxis(m_MovementAxisName);
m_TurnInputValue = Input.GetAxis(m_TurnAxisName);

// Estas lneas de cdigo, capturan a cada momento los botones que se estn pretando
en el teclado.

m_MovementAudio.pitch = Random.Range(m_OriginalPitch - m_PitchRange,


m_OriginalPitch + m_PitchRange); // Cuando buscas establecer un rango de
valores

Vector3 movement = transform.up // transform.forward -> Es un vector unitario

Sistemas de coordenadas global

Sistemas de coordenadas local

Size*Aspect = Ancho

Size = Ancho/Aspect

// nota: Diferencias entre component y GameObject, a la hora de activar y


desactivar

M_Movement.enabled = false // para desactivar componentes

m_CanvasGameObject.SetActive(false); // para desactivar Gameobjects

Para cambiar la posicin de un objeto


Transform.position = new Vector3(Vector1, Vector2, Vector3);
Mathf.Clamp(posX,-8,8) // sirve para restringir valores, para una
variable determinada
Emparentamiento
Hacer un objeto hijo de otro, el padre controla su posicin, rotacin y
escala
Void Awake // Se utiliza para obtener las referencias de otros
componentes
Y el Void Start, para inicializar los valores
void OnCollisionEnter() { } // Un mtodo que sirve para saber
cundo un objeto colisiona con otro
void OnTriggerEnter() { } // este mtodo sirve para saber
cundo un objeto colisiona, atravesndolo al mismo tiempo

Destroy(gameObject); // Destruye el objeto en si

- public GameObject efectoParticulas; // para insertar un


gameobject de cualquier ndole
- Instantiate(efectoParticulas, transform.position,
Quaternion.identity); // instancia un objeto determinado, en una
posicin definida, si aplicas Quaternion.identity, te estas
refiriendo a no modificar la rotacin.

- Public class Vidas : MonoBehaviour {


- public static int vidas // se crea una nica variable global.

Para llamarla desde cualquier cdigo se hace de la siguiente manera


Vidas.vidas

Public int vidas // de esta manera se declarara una variable para cada
componente

public Pelota pelota; // se puede referenciar componentes, para sacar informacin de


otros cdigos

public Barra barra;

barra.Reset(); // de esta manera se llaman a las funciones, provenientes de otros


cdigos
pelota.Reset();

transform.SetParent(null); // anulas al padre


transform.SetParent(Barra); // asignas un padre al objeto

if (Input.GetKeyDown(KeyCode.Escape)) // para saber cuando se preociono una tecla en


particular, en este caso el escape.

public SiguienteNivel siguienteNivel; // cuando quieres referenciar un componente


(script), tienes que llamarlo del mismo nombre (SiguienteNivel)

barra.enabled = false; // para desactivar componentes (scripts y otros)


barra.gameObject.SetActive(true); // para referenciar el gameobject

public AudioSource audioSource;


public AudioClip completado; //cuando se necesita referenciar un audio especfico

ACTIVACIN Y DESACTIVACIN - Hijos del Canvas


determinado
En el canvas agregar el componente denominado Canvas Group
Cambiando el alpha, modificamos su aparicin (1), como su ocultamiento (0)
gameObject.GetComponent<CanvasGroup>().alpha = 1f;

gameObject.GetComponent<CanvasGroup>().interactable = false; Anulas la interaccin


de los botones.

c1.GetComponent<CanvasGroup>().interactable == true

Nominar audios en cdigo


AudioClip

GameObject.Find("ObjectName").audio.Stop();

GameObject.Find("Canvas").GetComponent<AudioSource>().Play(); // de esta manera


puedes activar o desactivar un sonido, proveniente de otro objeto.

Cambiar un texto (UI)

public Text Titulo;

Titulo.text = "Hola";

También podría gustarte