[TUTORIAL] Unity Csharp Script - Dicas, Informações..etc
3 participantes
Página 1 de 1
[TUTORIAL] Unity Csharp Script - Dicas, Informações..etc
MonoBehaviour
MonoBehaviour é a classe base para todos os scripts do Unity.
Usando Javascript o script irá ser derivado do MonoBehaviour automáticamente.
Usando C# você precisa colocar logo no começo. Felizmente o proprio Unity/Monodevelop preenche essa parte para você:
Você podera usar alguns eventos ou Messages como eles sao chamados pela documentacao do Unity. Tenho certeza que você já usa alguns, mas você sabe pra que serve cada um?
Programar no Unity nao é como a tradicional ideia de programação onde o codigo fica rodando em loop até que uma condição seja atendida. O Unity passa o controle para o script somente caso algum evento previamente declarado seja chamado. Ao final do evento ser completado o Unity retoma controle do Objeto novamente. E assim sucessivamente.
Vou listar aqui os Eventos derivados do MonoBehaviour mais importantes e explicar exatamente pra que servem.
Awake = É chamado assim que o script é carregado.
Start = É chamado assim que o objeto é carregado e se torna ativo.
Update = É chamado em todo frame do jogo.
OnCollisionEnter = É chamado somente quando o collider/rigidbody toca no collider/rigidbody de outro objeto.
OnCollisionEnter2D = Igual a de cima mas em jogos 2D.
OnCollisionExit = É chamado somente quando o collider/rigidbody deixa de tocar no collider/rigidbody de outro objeto.
OnCollisionExit2D = Igual a de cima mas em jogos 2D.
OnCollisionStay = É chamado somente quando o collider/rigidbody se mantem tocando no collider/rigidbody de outro objeto.
OnCollisionStay2D = Igual a de cima mas em jogos 2D.
OnTriggerEnter = Semelhante a OnCollisionEnter só que para Colliders com Trigger ativado.
OnTriggerEnter2D = Semelhante a OnCollisionEnter2D só que para Colliders com Trigger ativado.
OnTriggerExit = Semelhante a OnCollisionExit só que para Colliders com Trigger ativado.
OnTriggerExit2D = Semelhante a OnCollisionExit2D só que para Colliders com Trigger ativado.
OnTriggerStay = Semelhante a OnCollisionStay só que para Colliders com Trigger ativado.
OnTriggerStay2D = Semelhante a OnCollisionStay2D só que para Colliders com Trigger ativado.
OnDestroy = É chamado quando o script ou objeto é destruido.
OnDisable = É chamado quando o objeto ou script é desabilitado.
OnEnable = É chamado quando o objeto ou script é habilitado.
OnGUI = É chamado para renderizar todo tipo de GUI. As GUI somente serao renderizadas se estiverem dentro desse evento.
OnLevelWasLoaded = É chamado sempre que um novo level foi carregado.
OnMouseDown = É chamado sempre que clica-se com o mouse em um objeto que contem um elemento GUI ou um Collider.
OnMouseDrag = É chamado sempre que o mouse se mantem clicado em um objeto que contem um elemento GUI ou um Collider.
OnMouseEnter = É chamado sempre que o mouse entra em cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseExit = É chamado sempre que o mouse sai de cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseOver = É chamado sempre que o mouse se mantem em cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseUp = É chamado sempre que o mouse deixar de clicar em um objeto que contem um elemento GUI ou um Collider.
OnMouseUpAsButton = É chamado se o mouse deixar de clicar exatamente em cima do objeto em que clicou primeiro. Funcionando como um botao. Se você clicar, manter clicado, tirar o mouse de cima do objeto e soltar o metodo nao é chamado.
Reset = É chamado quando o desenvolvedor clica no botao reset na aba inspector ou quando ele adiciona o script pela primeira vez no GameObject. Toda e qualquer variavel designada aqui dentro vai aparecer la.
ex:
<hr>
Bem esses sao os eventos mais basicos derivados do MonoBehaviour. Com o tempo vou aumentando a lista para quem sabe colocar todos que existem.
<hr>
Atributos
Atributos são modos de controlar melhor a interface do inspector ou adicionar comportamentos especiais a classes funcoes.
Vou explicar como usa-los sobre variaveis.
Para utilizá-los, em C#, é necessário colocá-los entre colchetes. Ex: [Header(“Texto”)], [Space(10)], [Range(0,100)].
O atributo deve ir sempre uma linha antes da variável na qual será atrelado e sobre a qual terá efeito. Não utiliza-se o ; para finalizar a instrução. É permitido colocar 2 ou mais atributos na mesma variavel. Bastando por 2 ou mais atributos acima da variavel.
Abaixo uma lista contendo os mais corriqueiramente usados e suas finalidades:
Header(“Texto”) = Usado para escrever um Titulo em cima da variavel no inspector.
Space(10) = Usado para adicionar um espaço entre duas variaveis. O valor entre parenteses sao os pixels que o Unity deve pular para por a proxima variavel.
Tooltip(“Texto”) = Usado para adicionar uma "dica" que ira aparecer ao posicionar o mouse em cima da variavel no inspector.
ContextMenuItem(“Texto”,“Método”) = Serve para criar uma opcao que aparece ao clicar com o botao direito sobre a variavel no inspector. Ao clicar nessa opcao o metodo que voce especificou no atributo sera executado mesmo sem o jogo estar em andamento.
Range(0,10) = Utilizado para definir o minimo e maximo que uma variavel pode assumir. Adicionalmente isto coloca um slider no inspector para voce alterar essa variavel. Aceita int e float.
Multiline (5) ou Multiline = Utilizado para aumentar o valor maximo de linhas que uma string pode ter no inspector. Por padrao este valor é 1. O valor entre parenteses é o valor de linhas.
HideInInspector = Serve para esconder uma variavel publica. Ela nao ira aparecer no inspector, mas sera acessivel por outros scripts normalmente por ser publica.
SerializeField = Serve para mostrar uma variavel privada. Ela aparecera no inspector, mas ainda sera privada nao podendo ser acessivel por outras classes.
System.Serializable = Ao criar uma classe que não herde do MonoBehavour esta classe nao aparecera no inspector. Ao usar isto ela passara a aparecer.
Espero que tenham gostado, pois eu sim ;D
MonoBehaviour é a classe base para todos os scripts do Unity.
Usando Javascript o script irá ser derivado do MonoBehaviour automáticamente.
Usando C# você precisa colocar logo no começo. Felizmente o proprio Unity/Monodevelop preenche essa parte para você:
- Código:
public class SUACLASSE : MonoBehaviour {} // Como padrao no Unity os scripts irão sempre herdar do MonoBehaviour
Você podera usar alguns eventos ou Messages como eles sao chamados pela documentacao do Unity. Tenho certeza que você já usa alguns, mas você sabe pra que serve cada um?
Programar no Unity nao é como a tradicional ideia de programação onde o codigo fica rodando em loop até que uma condição seja atendida. O Unity passa o controle para o script somente caso algum evento previamente declarado seja chamado. Ao final do evento ser completado o Unity retoma controle do Objeto novamente. E assim sucessivamente.
Vou listar aqui os Eventos derivados do MonoBehaviour mais importantes e explicar exatamente pra que servem.
Awake = É chamado assim que o script é carregado.
Start = É chamado assim que o objeto é carregado e se torna ativo.
Update = É chamado em todo frame do jogo.
OnCollisionEnter = É chamado somente quando o collider/rigidbody toca no collider/rigidbody de outro objeto.
OnCollisionEnter2D = Igual a de cima mas em jogos 2D.
OnCollisionExit = É chamado somente quando o collider/rigidbody deixa de tocar no collider/rigidbody de outro objeto.
OnCollisionExit2D = Igual a de cima mas em jogos 2D.
OnCollisionStay = É chamado somente quando o collider/rigidbody se mantem tocando no collider/rigidbody de outro objeto.
OnCollisionStay2D = Igual a de cima mas em jogos 2D.
OnTriggerEnter = Semelhante a OnCollisionEnter só que para Colliders com Trigger ativado.
OnTriggerEnter2D = Semelhante a OnCollisionEnter2D só que para Colliders com Trigger ativado.
OnTriggerExit = Semelhante a OnCollisionExit só que para Colliders com Trigger ativado.
OnTriggerExit2D = Semelhante a OnCollisionExit2D só que para Colliders com Trigger ativado.
OnTriggerStay = Semelhante a OnCollisionStay só que para Colliders com Trigger ativado.
OnTriggerStay2D = Semelhante a OnCollisionStay2D só que para Colliders com Trigger ativado.
OnDestroy = É chamado quando o script ou objeto é destruido.
OnDisable = É chamado quando o objeto ou script é desabilitado.
OnEnable = É chamado quando o objeto ou script é habilitado.
OnGUI = É chamado para renderizar todo tipo de GUI. As GUI somente serao renderizadas se estiverem dentro desse evento.
OnLevelWasLoaded = É chamado sempre que um novo level foi carregado.
OnMouseDown = É chamado sempre que clica-se com o mouse em um objeto que contem um elemento GUI ou um Collider.
OnMouseDrag = É chamado sempre que o mouse se mantem clicado em um objeto que contem um elemento GUI ou um Collider.
OnMouseEnter = É chamado sempre que o mouse entra em cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseExit = É chamado sempre que o mouse sai de cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseOver = É chamado sempre que o mouse se mantem em cima de um objeto que contem um elemento GUI ou um Collider.
OnMouseUp = É chamado sempre que o mouse deixar de clicar em um objeto que contem um elemento GUI ou um Collider.
OnMouseUpAsButton = É chamado se o mouse deixar de clicar exatamente em cima do objeto em que clicou primeiro. Funcionando como um botao. Se você clicar, manter clicado, tirar o mouse de cima do objeto e soltar o metodo nao é chamado.
Reset = É chamado quando o desenvolvedor clica no botao reset na aba inspector ou quando ele adiciona o script pela primeira vez no GameObject. Toda e qualquer variavel designada aqui dentro vai aparecer la.
ex:
- Código:
public int variavel1 = 524,variavel2 = 93;
void Reset(){
variavel1 = 20;
variavel2 = 32;
}
<hr>
Bem esses sao os eventos mais basicos derivados do MonoBehaviour. Com o tempo vou aumentando a lista para quem sabe colocar todos que existem.
<hr>
Atributos
Atributos são modos de controlar melhor a interface do inspector ou adicionar comportamentos especiais a classes funcoes.
Vou explicar como usa-los sobre variaveis.
Para utilizá-los, em C#, é necessário colocá-los entre colchetes. Ex: [Header(“Texto”)], [Space(10)], [Range(0,100)].
O atributo deve ir sempre uma linha antes da variável na qual será atrelado e sobre a qual terá efeito. Não utiliza-se o ; para finalizar a instrução. É permitido colocar 2 ou mais atributos na mesma variavel. Bastando por 2 ou mais atributos acima da variavel.
Abaixo uma lista contendo os mais corriqueiramente usados e suas finalidades:
Header(“Texto”) = Usado para escrever um Titulo em cima da variavel no inspector.
Space(10) = Usado para adicionar um espaço entre duas variaveis. O valor entre parenteses sao os pixels que o Unity deve pular para por a proxima variavel.
Tooltip(“Texto”) = Usado para adicionar uma "dica" que ira aparecer ao posicionar o mouse em cima da variavel no inspector.
ContextMenuItem(“Texto”,“Método”) = Serve para criar uma opcao que aparece ao clicar com o botao direito sobre a variavel no inspector. Ao clicar nessa opcao o metodo que voce especificou no atributo sera executado mesmo sem o jogo estar em andamento.
Range(0,10) = Utilizado para definir o minimo e maximo que uma variavel pode assumir. Adicionalmente isto coloca um slider no inspector para voce alterar essa variavel. Aceita int e float.
Multiline (5) ou Multiline = Utilizado para aumentar o valor maximo de linhas que uma string pode ter no inspector. Por padrao este valor é 1. O valor entre parenteses é o valor de linhas.
HideInInspector = Serve para esconder uma variavel publica. Ela nao ira aparecer no inspector, mas sera acessivel por outros scripts normalmente por ser publica.
SerializeField = Serve para mostrar uma variavel privada. Ela aparecera no inspector, mas ainda sera privada nao podendo ser acessivel por outras classes.
System.Serializable = Ao criar uma classe que não herde do MonoBehavour esta classe nao aparecera no inspector. Ao usar isto ela passara a aparecer.
Espero que tenham gostado, pois eu sim ;D
Última edição por RenanMSV em Sex Dez 25, 2015 12:24 am, editado 3 vez(es)
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: [TUTORIAL] Unity Csharp Script - Dicas, Informações..etc
Boa Vai Ajudar Muita gente
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Unity Csharp Script - Dicas, Informações..etc
ah, antes que eu me esqueça
Parabéns pela TAG :D :D
Parabéns pela TAG :D :D
RenanMSV- Instrutor
- PONTOS : 4484
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Script de arma 2D [Unity]
» [TUTORIAL](Csharp) Herança e método virtual [PARTE 2]
» [TUTORIAL](Csharp) Partial
» [TUTORIAL] Dicas de otimização
» [TUTORIAL](Csharp) Vector3.Distance
» [TUTORIAL](Csharp) Herança e método virtual [PARTE 2]
» [TUTORIAL](Csharp) Partial
» [TUTORIAL] Dicas de otimização
» [TUTORIAL](Csharp) Vector3.Distance
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos