Skip to content

Instantly share code, notes, and snippets.

@Fuhrmann
Last active March 28, 2019 00:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fuhrmann/941ce765c1ec8b069434 to your computer and use it in GitHub Desktop.
Save Fuhrmann/941ce765c1ec8b069434 to your computer and use it in GitHub Desktop.
Unity Sheet
--- ## GameObject
Todo objeto no jogo é um GameObject. Esses objetos não fazem nada sozinhos. Necessitam de propriedades. São como caixas vazias que guardam diversos tipos de peças (Components).
--- ## Transform Component
Todo GameObject tem um TransformComponent. O componente mais importante de todos. É através dele que todas as propriedades de transform de um GameObject são ativadas. Define a posição, rotação e tamanho de um GameObject.
--- ## Tags
É uma palavra, identificação, que é utilizada para identificar GameObjects no jogo.
--- ## Scene View
Utilizada para selecionar e posicionar os GameObjects (player, camera, etc) da sua cena (Scene).
--- ## Gizmoz
São gráficos adicionados a Scene para ajudar a identificar e visualizar GameObjects no seu jogo. Estes Gizmos podem ser adicionados através de Scripts ou pelo próprio editor.
--- ## Prefab
É um tipo de asset que permite guardar GameObjects com seus Components e propriedades. Este asset age como um template, que poderá ser reusado por todo o seu jogo. Se um Prefab é editado, essas alterações são propagadas por todas as instâncias deste Prefab em todo seu jogo.
--- ## Componentes
# Rigidbody2D
É um componente que adicionamos em um GameObject para poder controla-lo com física. Pode-se mover somente no eixo X e Y.
# Box Collider 2D
## Janelas
# Hierachy
Contém todos os GameObject da cena (Scene) atual.
# Inspector
Janela que contém todos os Components e Materials anexados a um GameObject. Por exemplo, para um Component do tipo script, todas as variaveis publicas serão exibidas para que seus valores possam ser definidos.
// Procura por um GameObject com uma tag especifica e o instancia.
respawn = GameObject.FindWithTag("Respawn");
Instantiate(respawnPrefab, respawn.transform.position, respawn.transform.rotation) as GameObject;
// Procura por um GameObject pelo nome
player = GameObject.Find("MainHeroCharacter");
// Instanciar um prefab existente
public Transform brick;
Instantiate(brick, new Vector3(x, y, 0), Quaternion.identity);
// Pega a posição atual do GameObject referenciado no Script
transform.position
// Pegar o input Horizontal (Tecla "D" ou "S"/Tecla para "direita" ou "esquerda")
value = Input.GetAxis ("Horizontal");
// Verificar em um mobile se o "toque" na tela iniciou:
for (var touch : Touch in Input.touches) {
if(touch.phase == TouchPhase.Began)
{
// HOUVE TOQUE NA TELA
}
}
// Escolher um elemento aleatório de um array
var element = myArray[Random.Range(0, myArray.Length)];
// Misturar um array
for (int i = 0; i < deck.Length; i++) {
int temp = deck[i];
int randomIndex = Random.Range(0, deck.Length);
deck[i] = deck[randomIndex];
deck[randomIndex] = temp;
}
static function RandomizeBuiltinArray(arr : Object[])
{
for (var i = arr.Length - 1; i > 0; i--) {
var r = Random.Range(0,i);
var tmp = arr[i];
arr[i] = arr[r];
arr[r] = tmp;
}
}
// Acessando componentes
void Start () {
Rigidbody rb = GetComponent<Rigidbody>();
}
// Pausa o jogo completamente
Time.timeScale = 0;
// Acelera o jogo
Time.timeScale = 2;
// Cria copia, instancia um GameObject
Instantiate(enemy);
// Destroy um GameObject com delay
Destroy(gameObject,.5f);
// Busca a largura do objeto com collider
float width = plataforma.GetComponent<BoxCollider2D>().size.x;
# Ordem de execução das funções de evento
http://docs.unity3d.com/Manual/ExecutionOrder.html
# Função Update()
Esta função é chamada antes do frame ser renderizado e também antes das animações serem calculadas. É o lugar onde deve-se colocar códigos para mudar posição do personagem, estado ou comportamento dos GameObjects.
# Função FixedUpdate()
É chamada sempre quando tem uma atualização na física do jogo. Como as atualizações da física do jogo e os frames não ocorrem na mesma frequencia, esta função traz resultados mais exatos quando se trata em mexer na física do jogo.
# Função Start()
É chamada no frame quando o script é ativado logo antes do método Update() ser chamado no primeiro frame.
# Função Awake()
É chamada para cada GameObject na Scene atual do jogo quando a Scene é carregada. Important notar que todos os Awake() serão finalizados antes que o primeiro Start() seja chamado.
# Funções OnCollisionEnter, OnCollisionStay and OnCollisionExit
Chamadas sempre que uma colisão acontecer. Enter é chamada quando colisão inicia. Stay é chamada quando a colisão se mantém. E Exit é quando a colisão terminou.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment