domingo, 14 de dezembro de 2014

Unity C#

Declaração de Variáveis
Transformadores - public, private
Tipos Conhecidos - float, int, bool, Transform, Animator, Material
float - Armazena números de tipo ponto flutuante.
int    - Armazena números de tipo inteiro.
bool - Armazena valores entre 0 e 1 , False or True. Falso ou verdadeiro.
Transform - Armazena propriedades de um objeto como por exemplo posição(position), rotation(Rotação).
Animator - Armazena lista de animações e seus devidos parâmetos.
Material  - Armazena materiais.

Material

render.material - Receber o material de quem está com script.
SetTextureOffset() - Serve para trabalhar com Offset de um material.
       Exemplo: SetTextureOffset("_MainText", new Vector2(variavel(offset) *           variavel2(velocidade),0));

Métodos Padrão
void Start(){}    - Método que será executado uma unica vez sempre que script for chamado.
void Update(){} - Método que será atualizado toda vez que houver uma atualização de tela.

Métodos para Colisões

void OnTriggerEnter2D (Collision2D colisor) {} - Esse método é herdado do MonoBehaviour, assim como o Start e o Update. Ele ocorre no momento em que o objeto que estiver com o script, colide com algo, que será o Collision2D. Além do OnTriggerEnter2D.


OnCollisionEnter2D (Collision2D colisor) = Ocorre no exato momento em toca no objeto.

OnCollisionExit2D (Collision2D colisor) = Ocorre no exato momento em que deixa de tocar no objeto. 

OnCollisionStay2D (Collision2D colisor) = Ocorre enquanto estiver tocando no objeto.

OnTriggerEnter2D (Collider2D colisor) = Ocorre no exato momento em que toca o objeto e a opção Is Trigger estiver habilitada. 

OnTriggerExit2D (Collider2D colisor) = Ocorre no exato momento em que deixa de tocar no objeto e a opção Is Trigger estiver habilitada.

OnTriggerStay2D (Collider2D colisor) = Ocorre enquanto estiver tocando no objeto e a opção Is Trigger estiver habilitada.

Comandos Geral
--------------------------------------------------------------- 
Physics2D.Linecast - Serve para detectar se existe um objeto entre um e outro. Exemplo: Se junto ao objeto Player existe um Objeto Plataforma.

Exemplo Prático: noChao = Physics2D.Linecast(transform.position, verificadorChao.position, 1 << LayerMask.NameToLayer("Plataforma")); 

noChao <- Verdadeiro ou Falso se o player está ou não no Chão. 

transform.position <- Pega a posição atual ao qual objeto ele está associado

, verificadorChao.position <- Objeto ao qual é o verificador entre o Player e a plataforma ele é do tipo transform assim o valor do transform 1 é comparado com o verificador, na camada 1 do 
LayerMask.NameToLayer "Plataforma".

 --------------------------------------------------------------- 

Input.GetAxisRaw - Serve para pegar as teclas de uma forma virtual, assim não precisando tratar se é ou não teclado ou joystick, própria engine já faz o trabalho de identificação, entretanto, essa forma não é suavizada e pode ser muitas vezes desnecessária. 

Exemplo : 
 if (Input.GetAxisRaw ("Horizontal") > 0) { 
     transform.Translate (Vector2.right * velocidadePlayer * Time.deltaTime);
     transform.eulerAngles = new Vector2 (0, 0); 
}

if - Inicia a condição de guarda 

Input.GetAxisRaw - Efetua a captura de tecla recebendo um parâmetro em String, definido em Edit > Project Settings > Input, Caso seja maior que 0 estará apontando para direita ( Default ). 

--------------------------------------------------------------- 

transform.Translate - Serve para "Transladar" a posição de um objeto, efetuar um movimento de sua posição. Efetuar Movimentação. 

Exemplo:  
transform.Translate (Vector2.right * velocidadePlayer * Time.deltaTime); 

Parâmetros recebidos nesse caso Vector2.right - Pega Vetor de posições 2D X e Y  e os multiplica por uma Variável velocidadePlayer e multiplica pela velocidade do ciclo do processador com a classe Time.deltaTime. 

transform.eulerAngles - Serve para "Transladar" A rotação de um objeto. 

Exemplo: transform.eulerAngles = new Vector2 (0, 0); Recebe um novo Vector com novas posições de rotação exemplo rotacionar no eixo Y. transform.eulerAngles = new Vector2 (0, 180); 

 --------------------------------------------------------------- 

Efeito Parallax

 --------------------------------------------------------------- 

Movimentação de Câmera 

Está classe "MovimentoCamera" controla a posição da câmera em relação ao personagem (Player) a variável player do tipo "Transform" está recebendo o objeto "player" através da classe GameObject(Objeto de jogo) e sendo encontrado através do método "FindGameObjectWithTag" que recebe um parâmetro do tipo String e está especificando a instancia transform. Dentro do Update temos uma variável do tipo Vector3 que recebe um novo objeto de Vector3 onde recebe a posição x do "Player" a posição Y do "Player" e a posição em Z da própria "Câmera" e logo em seguida o transform.position da própria câmera será transformado em tempo de execução através da classe Vector3 que controla suas posições com o método Lerp que faz a atualização continua através da posição do "Player" recebendo os parâmetros , 1 - trans.... pega a posição atuação e faz uma atualização para a "novaPosicao" em tempo de ciclos de processador.

0 comentários:

Postar um comentário

 
;