Postagens

Mostrando postagens de março, 2022

[POO] Herança na Unity

Herança é um conceito do paradigma de programação conhecido como Programação Orientada a Objetos , que tem como objetivo construir e trabalhar com abstrações de objetos do mundo real, em um nível de código. A Herança dá a capacidade de uma classe/objeto herdar comportamentos previamente definidos em outra classe, sem a necessidade de duplicação do código, permitindo a extensão e a sobrescrita de comportamentos já existentes, de acordo com a necessidade do novo objeto/classe. Para definir uma relação de herança no C#, a "palavra" reservada : (dois pontos) deve ser utilizada na definição da classe que estamos criando, indicando de qual outra classe o nosso script deve herdar. public class Jogador : MonoBehaviour { // Classe Jogador que herda da classe MonoBehaviour } Por padrão, todos os scripts criados na Unity herdam de MonoBehaviour, que é a classe base da Unity para Scripts que serão associados aos GameObjects do jogo. Embora essa definição de herança

GetComponent - Obtendo a referência para outros componentes do GameObject

Imagem
O editor da Unity é um ferramenta poderosa para auxiliar na configuração do jogo, podendo ser utilizado até para associar valores de variáveis públicas (ou marcadas com SerializeField ) que estejam disponíveis na aba Inspector . Por ser de fácil uso, muitos desenvolvedores acabam sempre utilizando este recurso para associar valores em suas variáveis, arrastando o componente de um objeto para a variável definida em outro script. Um exemplo comum é a criação de um Script para a movimentação de um objeto, por exemplo o jogador, onde essa movimentação será realizada com física, através do Rigidbody . using UnityEngine; public class Jogador : MonoBehaviour { public Rigidbody2D rigidbody2d; } Partindo do script de exemplo acima, com o nosso script contendo uma variável pública do tipo Ridigbody2D , nós precisamos associar o componente  Rigidbody2D , que deve estar presente em nosso objeto, na variável de mesmo nome ( rigidbody2d ) para que possamos utilizá-la no nosso

SerializeField - Serializando variáveis privadas e protegidas

Imagem
Declarar variáveis como públicas ( public ) em nossos scripts é uma forma prática de permitir que os valores dessas variáveis sejam definidos/editados através da Unity , mas do ponto de vista da Programação Orientada a Objetos e principalmente do princípio do Encapsulamento, essa abordagem de variáveis públicas deixa de ser tão encorajada. using UnityEngine; public class Jogador : MonoBehaviour { public string nome; public int vidas; public float velocidadeMovimentacao; public bool invulneravel; public Rigidbody2D rigidbody2d; public Collider2D collider2d; public SpriteRenderer spriteRenderer; } Unity inspector contendo as variáveis públicas do jogador automaticamente serializadas Tornar as variáveis privadas e/ou protegidas para controlar o acesso aos atributos de um script é uma abordagem recomendada pelo princípio do Encapsulamento e pode ser feita de forma simples, alterando o modificador de acesso das nossas