002 Apostila de Unity e C Sharp
002 Apostila de Unity e C Sharp
002 Apostila de Unity e C Sharp
Índice
Links para Download 9
Criando um Novo Projeto no Unity 10
Janelas e Editores 12
Restaurando o Layout Original 13
Estrutura do Projeto 14
Editor de Cena e Navegação 3D 15
Adicionando um Novo Objeto na Cena 17
Menu Inspetor e Componentes 18
Adicionando um Material 19
Criando um novo Script em C# 20
Configurando o Visual Studio como Editor 23
Evento Comentário e Print 25
Executando um Script 26
Monitorando o Console 27
Monitorando Erros 28
Declaração de Variáveis 30
Operadores Aritméticos e Unários 31
Funções Matemáticas 32
Números Aleatórios - Random 33
Operações com Strings 34
Operadores Lógicos 35
Operadores de Comparação 36
Condição If Else 37
Para baixar o Unity, baixe primeiro o Unity HUB (aplicativo que fará o
download, instalação e gerenciamento dos seus projetos no Unity 2019).
Para editar os Scripts do Unity você pode usar até mesmo o Bloco de
Notas. Porém é recomendável que você use o Visual Studio IDE para
projetos em Linguagem C#. Ele tem vários recursos que vão nos ajudar a
programar em C# e debugar nossos projetos no Unity.
Ao abrir o Unity pela primeira vez, você vai se deparar com esta tela do
Unity Hub.
Após clicar no botão Create, aguarde alguns minutos até que o editor crie
todos os arquivos e pastas necessários para o projeto iniciar.
Após este processo, o editor do Unity vai abrir e estamos prontos para
começar.
Janelas e Editores
Principais Editores:
● Scene - Editor Visual da Cena 3D
● Hierarchy - Objetos existentes na cena aberta
● Project - Arquivos e diretórios que compõe o projeto
● Inspector - Propriedades do objeto selecionado
● Console - Mensagens de status, alertas e debug
Atalho útil:
Shift + Espaço Maximizar Janela Ativa (em foco)
Estrutura do Projeto
Estas os atalhos das ferramentas para navegar por dentro de uma cena
3D e manipular os objetos.
Atalhos de Navegação
Orbit Alt + Clique Esquerdo
Zoom Scroll
Gizmos de Manipulação
Q Pan
W Move
E Rotate
R Scale
T Rect Tool
Ctrl + D Duplicar
Adicionando um Material
Após criar o Script, você deve arrastá-lo para o objeto que irá receber sua
programação para adicionar o Script ao funcionamento da cena.
Para editar um Script você pode clicar 2 vezes sobre ele na aba Project,
ou acessar a opção Edit Script dentro do componente na aba Inspector.
Antes de fazer isso, veja o próximo passo para saber “Como Configurar o
Visual Studio como o Editor de Scripts Padrão do Unity”.
Agora sempre que você der 2 Cliques em um Script, ou usar a opção Edit
Script, o Unity abrirá seu projeto para edição no Visual Studio.
O Visual Studio possui vários recursos que irão nos ajudar a entender a
linguagem C# e a criar nossas programações. Por exemplo:
● Colorir a Sintaxe
● Auto-Completar
● Dicas e Avisos sobre erros e sintaxe
● Debug do Código
● Auto-Identação do Código (basta selecionar tudo, copiar e colar)
/*
Isto é um
comentário em
Múltiplas
Linhas
*/
void Update()
{
print("ABC");
}
}
Executando um Script
Monitorando o Console
Monitorando Erros
Declaração de Variáveis
using UnityEngine;
void Start()
{
print("Hello Unity World!");
print("Meu nome é " + nome);
print("Altura: " + altura + " - Idade: " + idade)
}
void Update()
{
print("Game Loop =)");
}
}
// Módulo
print(10 % 3);
print(5 % 2);
// Operadores Unarios
var numero = 10;
numero = numero + 10;
numero += 5;
numero %= 3;
print(numero);
}
}
Funções Matemáticas
using UnityEngine;
print(Mathf.Sin(90));
print(Mathf.Cos(90));
print(Mathf.Tan(90));
print(Mathf.Pow(10,3));
print(Mathf.Sqrt(100));
print(meuAngulo * Mathf.Deg2Rad);
print(meuRadianos * Mathf.Rad2Deg);
print(Mathf.Round(3.5f));
print(Mathf.Round(3.5f));
print(Mathf.Ceil(3.5f));
print(Mathf.Floor(3.5f));
}
}
}
}
print("Programação em C#");
print("\tProgramação em C#");
print("\"Programação em C#\"");
print("\'Programação em C#\'");
print("\\Programação em C#");
}
void Update()
{
}
}
Operadores Lógicos
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
print(valorA);
// Operadores Lógicos
print(!true);
print(true && false);
print(true || false);
print(!valorA);
print(valorA && valorB);
print(valorA || valorB);
}
void Update()
{
}
}
Operadores de Comparação
using UnityEngine;
using System.Collections;
void Start()
{
// Igual e Diferente
print(10 == 10);
print("Felpudo" != "Felpudo Jr.");
// Maior e Menor
print(10 > 5);
print(10 < 5);
void Update()
{
}
}
Condição If Else
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
void Update()
{
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
switch (nome)
{
case "Tito": print("Eu sou o Tito Petri"); break;
case "Felpudo": print("Este é o Felpudo"); break;
case "Fofura": print("Olá, eu sou a Fofura!"); break;
default: print("Nenhum usuário encontrado."); break;
}
}
void Update()
{
}
}
if (((jogadaA + jogadaB) % 2) == 0)
{
print("Jogador A Venceu!");
}
else
{
print("Jogador B Venceu!");
}
}
void Update()
{
}
}
Jogo do JoKenPô
using UnityEngine;
switch (jogadaA)
{
case 0: print("A. Pedra"); break;
case 1: print("A. Papel"); break;
case 2: print("A. Tesoura"); break;
default: break;
}
switch (jogadaB)
{
case 0: print("B. Pedra"); break;
case 1: print("B. Papel"); break;
case 2: print("B. Tesoura"); break;
default: break;
}
if (jogadaA == jogadaB)
{
print("Empate");
}
else if (((jogadaA == 0) && (jogadaB == 2)) ||
((jogadaA == 1) && (jogadaB == 0)) ||
((jogadaA == 2) && (jogadaB == 1)))
{
print("Jogador A Venceu!");
}
else if (((jogadaB == 0) && (jogadaA == 2)) ||
void Update()
{
}
}
Listas ou Arrays
using UnityEngine;
int[] meuArray;
meuArray = new int[] { 1, 3, 5, 7, 9 };
print(nomes);
print(numeros[0]);
print(nomes[0].Length);
print(verificados[0]);
}
void Update()
{
}
}
ArrayLists
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
print(nomes[2]);
print(nomes.Count);
print(nomes);
nomes.Remove("Tito");
nomes.Insert(4, "Tito Petri");
nomes.RemoveAt(1);
nomes.RemoveRange(0, 2);
}
void Update()
{
}
}
print(".....");
void Update()
{
Matriz Multidimensional
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
print(matrizNomes.GetLength(0));
print(matrizNomes.GetLength(1));
void Update()
{
}
}
Sorteio de Nomes
using UnityEngine;
void Update()
{
}
}
void Start()
{
ArrayList nomes = new ArrayList();
ArrayList IDs = new ArrayList();
nomes = new ArrayList(new[] { "Tito Petri", "Felpudo", "Fofura", "Lesmo", "Bugado", "Uruca" });
IDs = new ArrayList(new[] { 12, 10, 33, 13, 100, 5 });
void Update()
{
}
}
void falar()
{
print("Olá! Eu sou o Felpudo!");
}
void Update()
{
}
}
Modificadores de Acesso
using UnityEngine;
void Start()
{
animal = new Animal("Felpudo", "Brasil", 12, true);
animal.andar(4.5f);
print(animal.falar());
}
void Update()
{
}
}
Declaração de Classe
using UnityEngine;
using System.Collections;
void Start()
{
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
print("Espaço");
}
if (Input.GetKeyDown(KeyCode.Space))
{
print("Apertou Espaço");
}
if (Input.GetKeyUp(KeyCode.Space))
{
print("Soltou Espaço");
}
if (Input.GetKeyDown("up"))
{
print("Seta Cima");
}
Debug.Log("Clicou no Objeto");
}
Acessando Propriedades
using UnityEngine;
void Start()
{
print(this.name);
print(this.transform);
print(this.transform.position);
print(this.transform.rotation.z);
print(this.tag);
}
void Update()
{
if (Input.GetKey("space")) {
this.gameObject.SetActive(false);
}
}
}
void Start()
{
//meuObjeto = GameObject.Find("Cube");
meuObjeto = GameObject.FindWithTag("Player");
}
void Update()
{
if (Input.GetKeyDown("up")) {
estado = !estado;
meuObjeto.SetActive(estado);
}
}
}
Acessando Componentes
using UnityEngine;
void Start()
{
boxCollider = GetComponent<BoxCollider>();
boxCollider.isTrigger = true;
renderer = GetComponent<Renderer>();
renderer.material.color = Color.red;
}
void Update()
{
}
}
Acessando Materiais
using UnityEngine;
void Start()
{
renderer = GetComponent<Renderer>();
void Update()
{
}
private void OnMouseEnter()
{
renderer.material.color = color;
}
using UnityEngine;
void Start()
{
tabuleiro = GameObject.Find("TABULEIRO");
void Update()
using UnityEngine;
int rodada = 1;
int[] jogadas = { 0, 0, 0,
0, 0, 0,
0, 0, 0};
void Start()
{
void Update()
{
if (rodada % 2 != 0)
{
Instantiate(xis, posicao, Quaternion.identity);
jogadas[indiceClicado] = 1; // 1 = XIS
}
else {
Instantiate(bolinha, posicao, Quaternion.identity);
jogadas[indiceClicado] = 2; // 2 = BOLINHA
}
rodada++;
verificaJogada();
}
void verificaJogada() {
// verificacao na horizontal
if ((jogadas[0] == 1 && jogadas[1] == 1 && jogadas[2] == 1) ||
(jogadas[3] == 1 && jogadas[4] == 1 && jogadas[5] == 1) ||
(jogadas[6] == 1 && jogadas[7] == 1 && jogadas[8] == 1) ||
//verificacao na vertical
(jogadas[0] == 1 && jogadas[3] == 1 && jogadas[6] == 1) ||
(jogadas[1] == 1 && jogadas[4] == 1 && jogadas[7] == 1) ||
(jogadas[2] == 1 && jogadas[5] == 1 && jogadas[8] == 1) ||
// verificacao na diagonal
(jogadas[0] == 1 && jogadas[4] == 1 && jogadas[8] == 1) ||
(jogadas[2] == 1 && jogadas[4] == 1 && jogadas[6] == 1))
{
print("Jogador XIS Ganhou!");
}
else if ((jogadas[0] == 2 && jogadas[1] == 2 && jogadas[2] == 2) ||
(jogadas[3] == 2 && jogadas[4] == 2 && jogadas[5] == 2) ||
(jogadas[6] == 2 && jogadas[7] == 2 && jogadas[8] == 2) ||
//verificacao na vertical
(jogadas[0] == 2 && jogadas[3] == 2 && jogadas[6] == 2) ||
// verificacao na diagonal
(jogadas[0] == 2 && jogadas[4] == 2 && jogadas[8] == 2) ||
(jogadas[2] == 2 && jogadas[4] == 2 && jogadas[6] == 2))
{
print("Jogador BOLINHA Ganhou!");
}
else {
if (rodada == 10) {
print("Deu Velha!");
}
}
}
}
Movimentação Lateral
using UnityEngine;
float px = 0.0f;
public float velocidade = 0.1f;
public float aceleracao = 0.95f;
void Start()
{
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
px += velocidade * Time.deltaTime;
}
else if (Input.GetKey(KeyCode.LeftArrow))
{
px -= velocidade * Time.deltaTime;
}
else
{
px *= aceleracao;
}
posicaoX = 3.0f;
}
else if (transform.position.x < -3.0f)
{
px = 0;
posicaoX = -3.0f;
}
transform.position = new Vector3(posicaoX, 0.5f, 0);
}
}
Movimentação 3D do Jogador
using UnityEngine;
Vector3 inicio;
void Start()
{
inicio = transform.position;
}
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Rotate(Vector3.up, giro * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Rotate(Vector3.up, -giro * Time.deltaTime);
}
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(Vector3.forward * velocidade * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(-Vector3.forward * velocidade * Time.deltaTime);
}
if (Input.GetKey(KeyCode.Space))
{
transform.position = inicio;
}
}
}
Hierarquia de Cena
Lembre-se que para criar uma Hierarquia, basta arrastar um node para
dentro do outro, na aba Hierarchy, do filho para o pai.
Camera LookAt
using UnityEngine;
void Start()
{
jogador = GameObject.FindWithTag("Player");
}
void Update()
{
transform.LookAt(jogador.transform);
}
}
Camera Follow
using UnityEngine;
void Start()
{
jogador = GameObject.FindWithTag("Player");
posicaoInicial = transform.position -
jogador.transform.position;
}
void LateUpdate()
{
transform.position = jogador.transform.position +
posicaoInicial;
}
}
Girar Item
using UnityEngine;
void Start()
{
transform.Rotate(0.0f, 15.0f * atraso, 0.0f, Space.World);
}
void Update()
{
transform.Rotate(0.0f, 3.0f, 0.0f, Space.World);
}
}
void Start()
{
somMoeda = GetComponent<AudioSource>();
inicio = transform.position;
//textoPontos.text = "Moedas: " + pontos.ToString();
textoPontos.text = "Moedas: " + quantidadeItens.ToString();
textoFinal.gameObject.SetActive(false);
}
void Awake() {
for (int i = 0; i < quantidadeItens; i++)
{
criarMoedaAleatoriamente();
}
}
void criarMoedaAleatoriamente()
{
float px = Random.Range(-10.0f, 10.0f);
float pz = Random.Range(-10.0f, 10.0f);
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(Vector3.forward * velocidade *
Time.deltaTime);
}
else if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(-Vector3.forward * velocidade *
Time.deltaTime);
}
if (Input.GetKey(KeyCode.Space))
{
transform.position = inicio;
}
void marcaPonto()
{
pontos++;
//textoPontos.text = "Moedas: " + pontos.ToString();
textoPontos.text = "Itens: " + (quantidadeItens-pontos).ToString();
if (pontos == quantidadeItens)
{
textoFinal.gameObject.SetActive(true);
textoFinal.text = "Você Venceu!";
}
}
}
Múltiplas Câmeras
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
if(Input.GetMouseButtonDown(0)){
MudaCamera(1);
}
if(Input.GetMouseButtonDown(1)){
MudaCamera(-1);
}
}
}
Esta nova cena deve conter apenas 1 Câmera com o Script adiante
aplicado à ela.
Lembre-se também de carregar os gráficos que irá utilizar nesta etapa.
void Start()
{
void Update()
{
void OnGUI()
{
if (!minhaImagem)
{
Debug.LogError("Carregue uma Imagem no Inspetor.");
return;
}
if (!btnTexture)
{
Debug.LogError("Carregue uma Imagem no Inspetor.");
return;
}
GUI.backgroundColor = Color.clear;
void clicouBotao()
{
SceneManager.LoadScene("Fase_01");
}
}
void Start()
{
offsetX = ((quantidade*distancia)/2.0f);
print(offsetX);
for (int i = 0; i < quantidade; i++)
{
item.gameObject.GetComponent<GiraMoeda>().offset = i;
Vector3 posicao = new Vector3(i-offsetX+(distancia/2.0f), 0, 0) +
transform.position;
Instantiate(item, posicao, Quaternion.identity);
}
}
}
void Awake()
{
for (int i = 0; i < quantidade; i++)
{
criarMoedaAleatoriamente(i);
}
}
void Awake()
{
for (int i = 1; i <= qtd; i++)
{
float contador = Mathf.PI * 2 / qtd * i;
float px = Mathf.Sin(contador) * raio;
float pz = Mathf.Cos(contador) * raio;
void Awake()
{
float offsetx = colunas * distancia / 2 - distancia/2;
float linhas = Mathf.Ceil(quantidade / (float)colunas);
float offsetz = linhas * distancia / 2 - distancia / 2;
Vector3 posicaoInicial;
float tempo = 0;
void Start()
{
transform.Rotate(0, 0, 0, Space.World);
posicaoInicial = transform.position;
}
void Update()
{
tempo += Time.deltaTime * velocidade;
float px = Mathf.Sin(tempo) * raio;
float pz = Mathf.Cos(tempo) * raio;
void Start()
{
}
void Update()
{
if (!GIRA)
{
transform.Translate(Vector3.forward * MX * V * Time.deltaTime);
GIRA = true;
}
}
else
{
gira();
}
}
void gira()
{
transform.Rotate(0, 150.0f * Time.deltaTime, 0, Space.Self);
if (transform.localEulerAngles.y >= 180.0f && GO)
{
GIRA = false;
GO = false;
//MX = -MX;
}
void Start()
{
jogador = GameObject.Find("Felpudo");
vazio = new GameObject();
}
void Update()
{
float distancia = Vector3.Distance(jogador.transform.position,
transform.position);
if (distancia < 5.0f)
{
vazio.transform.LookAt(jogador.transform);
aproximou = true;
print("Aproximou!");
}
else {
aproximou = false;
}
if (aproximou) {
transform.Translate(Vector3.forward * Time.deltaTime * 3.0f);
transform.LookAt(jogador.transform);
}
}
}
void tomouPancada() {
vidas--;
if (vidas <= 0)
{
textoFimDeJogo.text = "You Lose";
textoFimDeJogo.gameObject.SetActive(true);
acabou = true;
}
piscaOn();
}
...
rb.AddForce(-transform.forward * hit);
piscaOn();
}
void piscaOn() {
if (contaPisca < 6) {
contaPisca += 1;
renderer.material.color = Color.red;
Invoke("piscaOff", 0.1f);
}
}
void piscaOff() {
renderer.material.color = corOriginal;
if (contaPisca == 5)
{
contaPisca = 0;
}
else {
Invoke("piscaOn", 0.1f);
}
}
}
void zeraPulo()
{
noChao = true;
}
renderer.material.color = Color.red;
renderer.material.color = corOriginal;
objetosCorpoFelpudo = GameObject.FindGameObjectsWithTag("Corpo");
audioSource = GetComponent<AudioSource>();
audioSource.clip = somOvinho;
audioSource.Play();
Evento GameOver
void tomouPancada() {
vidas--;
audioSource.clip = somPancada;
audioSource.Play();
if (vidas <= 0)
{
textoFimDeJogo.text = "You Lose";
textoFimDeJogo.gameObject.SetActive(true);
acabou = true;
}
rb.AddForce(-transform.forward * hit);
piscaOn();
}
Ação de Atirar
public GameObject desentupidor;
if (Input.GetKeyDown(KeyCode.LeftShift))
{
audioSource.clip = somOvinho;
audioSource.Play();
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
int pontos = 0;
int quantidadeDeMoedas = 0;
int energia = 8;
int vidas = 3;
GameObject[] objetosCorpoFelpudo;
public GameObject desentupidor;
public GameObject particulaMoeda;
public GameObject particulaOvo;
void Start()
{
audioSource = GetComponent<AudioSource>();
rigidbody = GetComponent<Rigidbody>();
objetosCorpoFelpudo = GameObject.FindGameObjectsWithTag("Corpo");
inicio = transform.position;
lifeBar.GetComponent<Image>().sprite = imagensLifeBar[energia];
void Update()
{
if (!acabou)
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Rotate(Vector3.up, giro * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Rotate(Vector3.up, -giro * Time.deltaTime);
}
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(Vector3.forward * velocidade * Time.deltaTime);
}
else if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(-Vector3.forward * velocidade * Time.deltaTime);
}
if (Input.GetKeyDown(KeyCode.LeftShift))
{
audioSource.clip = somOvinho;
audioSource.Play();
}
else
{
print("Clicou");
if (Input.GetMouseButtonDown(0))
{
if (venceu)
{
SceneManager.LoadScene("Fase01");
}
else
{
SceneManager.LoadScene("Introducao");
}
}
}
}
void zeraPulo()
{
noChao = true;
}
if (outro.gameObject.CompareTag("Moeda"))
{
Instantiate(particulaMoeda , outro.transform.position,
outro.transform.rotation);
Destroy(outro.gameObject);
marcaPonto();
}
if (outro.gameObject.CompareTag("Inimigo"))
{
//Destroy(outro.gameObject.transform.parent.gameObject);
tomouPorrada();
}
if (outro.gameObject.CompareTag("Ovo"))
{
Instantiate(particulaOvo, outro.transform.position,
outro.transform.rotation);
Destroy(outro.gameObject);
ganhouLife();
}
}
void tomouPorrada()
{
energia--;
lifeBar.GetComponent<Image>().sprite = imagensLifeBar[energia];
rigidbody.AddForce(transform.forward * -700.0f);
audioSource.clip = somPorrada;
audioSource.Play();
if (energia <= 0)
{
textoFimDeJogo.text = "Você Perdeu";
textoFimDeJogo.gameObject.SetActive(true);
acabou = true;
venceu = false;
}
piscaOn();
}
void ganhouLife() {
audioSource.clip = somOvinho;
audioSource.Play();
void piscaOn()
{
if (contaPisca > 0)
{
contaPisca--;
//renderer.material.color = Color.red;
Invoke("piscaOff", 0.1f);
}
}
void piscaOff()
{
//renderer.material.color = corOriginal;
if (contaPisca <= 0)
{
contaPisca = 5;
}
else
{
Invoke("piscaOn", 0.1f);
}
}
void marcaPonto()
{
pontos++;
audioSource.clip = somMoeda;
audioSource.Play();
textoPontos.text = "" + pontos + "/" + quantidadeDeMoedas;
if (pontos == quantidadeDeMoedas)
{
textoFimDeJogo.text = "Você Venceu!";
textoFimDeJogo.gameObject.SetActive(true);
acabou = true;
venceu = true;
}
void Start()
{
anim = GetComponent<Animation>();
}
}
}
if (outro.gameObject.CompareTag("Player"))
{
meuAnimator.SetBool("Ativo", true);
}
}
void Start()
{
meuCharacterController = GetComponent<CharacterController>();
}
void Update()
{
Vector3 frente = transform.TransformDirection(Vector3.forward) *
Input.GetAxis("Vertical") * 5.0f;
meuCharacterController.Move(frente * Time.deltaTime);
transform.Rotate(new
Vector3(0,Input.GetAxis("Horizontal"),0)*Time.deltaTime*300.0f);
meuCharacterController.SimpleMove(Physics.gravity);
if (Input.GetButton("Jump")) {
if (meuCharacterController.isGrounded) {
pulo.y = 10.0f;
}
}
meuCharacterController.Move(pulo * Time.deltaTime);
pulo.y -= 7.0f * Time.deltaTime;
}
}
void Start()
{
jogador = GameObject.Find("Felpudo");
meuScript = jogador.GetComponent<MeuScript>();
}
void Update()
{
if (!acabou){
print(Time.time);
Flappy Bird 3D
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
GameObject objetoDaVez;
GameObject jogador;
Rigidbody meuRigidbody;
void Start()
{
Physics.gravity = new Vector3(0, -20.0f, 0);
//jogador = GameObject.Find("FELPUDO");
jogador = GameObject.FindWithTag("JOGADOR");
meuRigidbody = jogador.GetComponent<Rigidbody>();
textoGameOver.text = "";
}
void Update()
{
if (Input.GetMouseButtonDown(0) && !acabou)
{
if (!comecou)
{
comecou = true;
meuRigidbody.useGravity = true;
meuRigidbody.velocity = new Vector3(0.0f, 5.0f, 0.0f);
Invoke("criaCerca", 0.5f);
Invoke("criaObjetos", 0.5f);
GameObject.Find("OBJETO_PISO").GetComponent<ScrollingPiso>().iniciarAni
macaoPiso();
}
else
{
//meuRigidbody.AddForce(gameObject.transform.up*500.0f);
meuRigidbody.velocity = Vector3.zero;
meuRigidbody.velocity = new Vector3(0.0f, 5.0f, 0.0f);
}
}
}
meuRigidbody.velocity.y * -3);
}
void criaCerca()
{
Instantiate(cerca);
Invoke("criaCerca", 1.3f);
}
void criaObjetos()
{
//GameObject objetoDaVez = new GameObject();
switch (Random.Range(0, 5))
{
case 0: objetoDaVez = arbusto; break;
case 1: objetoDaVez = pedras; break;
case 2: objetoDaVez = canos; break;
case 3: objetoDaVez = nuvem; break;
case 4: objetoDaVez = ovo; break;
default: break;
}
Instantiate(objetoDaVez, gameObject.transform.position,
transform.rotation);
Invoke("criaObjetos", Random.Range(0.75f, 2.0f));
}
using UnityEngine;
GameObject meuGameEngine;
FlappyGameEngine meuFlappyGameEngine;
//bool comecou;
//Rigidbody meuRigidbody;
void Start()
{
//Physics.gravity = new Vector3(0, -20.0f, 0);
//meuRigidbody = GetComponent<Rigidbody>();
meuGameEngine = GameObject.Find("FlappyEngine");
meuFlappyGameEngine =
meuGameEngine.GetComponent<FlappyGameEngine>();
meuAudioSource = GetComponent<AudioSource>();
}
//void Update()
//{
// if (Input.GetMouseButtonDown(0)) {
// if (!comecou)
// {
// comecou = true;
// meuRigidbody.useGravity = true;
// }
// else {
// //meuRigidbody.AddForce(gameObject.transform.up*500.0f);
// meuRigidbody.velocity = Vector3.zero;
// meuRigidbody.velocity = new Vector3(0.0f, 10.0f, 0.0f);
// }
// }
//}
case "OVO":
print("Pegou Ovo!");
Destroy(outroObjeto.gameObject);
meuFlappyGameEngine.marcaPonto(1);
meuAudioSource.PlayOneShot(somOvo);
break;
default: break;
}
//Destroy(outroObjeto.gameObject);
}
void fimDeJogo() {
//print("Fim de Jogo!");
meuFlappyGameEngine.fimDeJogo();
meuAudioSource.PlayOneShot(somHit);
}
}
using UnityEngine;
Vector3 offSetPosicao;
Vector3 offSetRotacao;
void Awake() {
offSetPosicao = Vector3.zero;
offSetRotacao = Vector3.zero;
//switch (gameObject.name) {
switch (gameObject.tag)
{
case "ARBUSTO": offSetPosicao.z += Random.Range(2.0f, -2.5f);
offSetRotacao.y += Random.Range(-90f, 90.0f);
break;
case "PEDRAS": offSetPosicao.z += Random.Range(2.0f, -2.5f);
offSetRotacao.y += Random.Range(-90f, 90.0f); break;
case "NUVEM": offSetPosicao += new Vector3(0, Random.Range(1.0f,
3.5f), Random.Range(2.0f, -2.5f));
offSetRotacao.x += Random.Range(-90f, 90.0f); break;
case "OVO": offSetPosicao.y += Random.Range(0.5f, 1.5f); break;
}
}
void Start()
{
this.gameObject.transform.position = posicaoInicial;
this.gameObject.transform.position += offSetPosicao;
this.gameObject.transform.eulerAngles += offSetRotacao;
this.gameObject.transform.localScale = escalaInicial;
Invoke("apagaObjeto", 6.0f);
Invoke("someEscala", 5.5f);
}
void Update()
{
transform.position -= new Vector3(1.0f * velocidade * Time.deltaTime, 0,
0);
void apagaObjeto()
{
Destroy(this.gameObject);
}
void someEscala() {
escala = 1.0f;
dirEscala = -1.0f;
}
}
using UnityEngine;
void Start()
{
void Update()
{
if (comecou) {
materialPiso.SetTextureOffset("_MainTex", new Vector2(Time.time *
-velocidade, 0));
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
void Start() {
meuCanvas = GameObject.Find("Meu Canvas");
}
painelBlack.GetComponent<ScriptPainelBlack>().aparece = true;
Instantiate(painelBlack, meuCanvas.transform);
//Instantiate(painelBlack);
Invoke("MudaCena", 2.0f);
}
void MudaCena() {
SceneManager.LoadScene("Cena JoKenPo");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
using UnityEngine;
void Awake() {
controleAnima = GetComponent<Animator>();
}
void Start()
{
Invoke("ApagaObjeto", 2.25f);
print(aparece);
if (aparece)
{
controleAnima.Play("Anima Painel Black Aparece");
//print("Tocou animacao Aparece");
}
else {
controleAnima.Play("Anima Painel Black Some");
//print("Tocou animacao Some");
}
void ApagaObjeto()
{
Destroy(this.gameObject);
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
void Start() {
meuCanvas = GameObject.Find("Meu Canvas");
}
void MudaCena() {
SceneManager.LoadScene("Cena JoKenPo");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
}
using UnityEngine;
void Awake() {
controleAnima = GetComponent<Animator>();
}
void Start()
{
Invoke("ApagaObjeto", 2.25f);
print(aparece);
if (aparece)
{
controleAnima.Play("Anima Painel Black Aparece");
//print("Tocou animacao Aparece");
}
else {
controleAnima.Play("Anima Painel Black Some");
//print("Tocou animacao Some");
}
}
void ApagaObjeto()
{
Destroy(this.gameObject);
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
SpriteRenderer imagemFundo;
SpriteRenderer felpudo;
SpriteRenderer uruca;
void Start()
{
meuCanvas = GameObject.Find("Meu Canvas");
imagemFundo = GameObject.Find("IMAGEM
FUNDO").GetComponent<SpriteRenderer>();
felpudo =
GameObject.Find("FELPUDO").GetComponent<SpriteRenderer>();
uruca =
GameObject.Find("URUCA").GetComponent<SpriteRenderer>();
}
void Update()
{
// dimensões da imagem
float larguraImagem = imagemFundo.sprite.bounds.size.x;
float alturaImagem = imagemFundo.sprite.bounds.size.y;
// dimensões da tela
float alturaTela = Camera.main.orthographicSize * 2f;
float larguraTela = alturaTela / Screen.height * Screen.width;
//print(larguraImagem);
//print(alturaImagem);
print("L:" + larguraTela + "A:" + alturaTela);
painelBlack.GetComponent<ScriptPainelBlack>().aparece = true;
Instantiate(painelBlack, meuCanvas.transform);
//Instantiate(painelBlack);
Invoke("MudaCena", 2.0f);
}
void MudaCena()
{
SceneManager.LoadScene("Menu Inicio");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
GameObject meuCanvas;
AudioSource audioSource;
void Start()
{
meuCanvas = GameObject.Find("Meu Canvas");
audioSource = GetComponent<AudioSource>();
botaoSomOn = Resources.Load<Sprite>("botaoSomOn");
botaoSomOff = Resources.Load<Sprite>("botaoSomOff");
}
void Update()
{
if (desligaSom) {
audioSource.volume -= 1.0f * Time.deltaTime;
}
}
void MudaCena()
{
SceneManager.LoadScene("Cena JoKenPo");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
botaoSom.GetComponent<Image>().sprite = botaoSomOff;
}
else
{
audioSource.volume = 1.0f;
botaoSom.GetComponent<Image>().sprite = botaoSomOn;
}
somLigado = !somLigado;
}
using UnityEngine;
void Awake() {
controleAnima = GetComponent<Animator>();
}
void Start()
{
Invoke("ApagaObjeto", 2.25f);
//print(aparece);
if (aparece)
{
controleAnima.Play("Anima Painel Black Aparece");
//print("Tocou animacao Aparece");
}
else {
controleAnima.Play("Anima Painel Black Some");
//print("Tocou animacao Some");
}
}
void ApagaObjeto()
{
Destroy(this.gameObject);
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
SpriteRenderer imagemFundo;
SpriteRenderer felpudo;
SpriteRenderer uruca;
GameObject textoToqueParaIniciar;
GameObject meuCanvas;
AudioSource audioSource;
public AudioClip somJogada;
int opcao = 0;
bool apertouJogar = false;
GameObject spriteBalao;
void Start()
{
audioSource = GetComponent<AudioSource>();
meuCanvas = GameObject.Find("Meu Canvas");
textoToqueParaIniciar = GameObject.Find("TEXTO TOQUE PARA
INICIAR");
imagemFundo = GameObject.Find("IMAGEM
FUNDO").GetComponent<SpriteRenderer>();
felpudo =
GameObject.Find("FELPUDO").GetComponent<SpriteRenderer>();
uruca =
GameObject.Find("URUCA").GetComponent<SpriteRenderer>();
}
void Update()
{
// dimensões da imagem
float larguraImagem = imagemFundo.sprite.bounds.size.x;
float alturaImagem = imagemFundo.sprite.bounds.size.y;
// dimensões da tela
float alturaTela = Camera.main.orthographicSize * 2f;
float larguraTela = alturaTela / Screen.height * Screen.width;
//print(larguraImagem);
//print(alturaImagem);
// print("L:" + larguraTela + "A:" + alturaTela);
if (Input.GetMouseButtonDown(0) &&
textoToqueParaIniciar.gameObject.activeInHierarchy)
{
ClicouJogar();
if (Input.GetKeyDown("right"))
{
opcao += 1;
if (opcao > 2)
{
opcao = 0;
}
TrocaTexturaIconeHand();
}
if (Input.GetKeyDown("left"))
{
opcao -= 1;
if (opcao < 0)
{
opcao = 2;
}
TrocaTexturaIconeHand();
}
if (Input.GetKeyDown("space"))
{
audioSource.Stop();
ExecutarJogada();
}
//print(opcao);
}
void MudaCena()
{
SceneManager.LoadScene("Menu Inicio");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
void ClicouJogar()
{
textoToqueParaIniciar.gameObject.SetActive(false);
audioSource.Play();
Invoke("ExecutarJogada", 10.0f);
Instantiate(balaoPensamento);
balaoPensamento.transform.position = felpudo.transform.position
+ new Vector3(1.0f, 1.0f, 0.0f);
void TrocaTexturaIconeHand()
{
spriteBalao.GetComponent<SpriteRenderer>().sprite =
iconesPedraPapelTesoura[opcao];
}
void ExecutarJogada()
{
if (!apertouJogar) {
apertouJogar = true;
audioSource.PlayOneShot(somJogada);
}
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
//Sprite botaoSomOn;
//Sprite botaoSomOff;
void Start()
{
audioSource = GetComponent<AudioSource>();
audioSource.volume = 0.2f;
botaoSomOn = Resources.Load<Sprite>("botaoSomOn");
botaoSomOff = Resources.Load<Sprite>("botaoSomOff");
}
void Update()
{
if (clicouIniciar) {
audioSource.volume -= 0.25f * Time.deltaTime;
}
}
//print("Clicou Iniciar");
if (!clicouIniciar) {
painelBlack.GetComponent<ScriptPainelBlack>().aparece =
true;
Instantiate(painelBlack, GameObject.Find("MEU
CANVAS").transform);
clicouIniciar = true;
Invoke("CarregarProximaCena", 2.0f);
}
}
void CarregarProximaCena() {
SceneManager.LoadScene("Cena Jogo Jokenpo");
//SceneManager.LoadScene(SceneManager.GetActiveScene().buildInd
ex + 1);
}
if (estadoSom)
{
//estadoSom = false;
audioSource.volume = 0.0f;
botaoSom.GetComponent<Image>().sprite = botaoSomOff;
}
else
{
//estadoSom = true;
audioSource.volume = 0.2f;
botaoSom.GetComponent<Image>().sprite = botaoSomOn;
}
estadoSom = !estadoSom;
}
}
using UnityEngine;
void Start()
{
meuAnimator = GetComponent<Animator>();
Invoke("DestroiObjeto", 2.5f);
if (aparece)
{
meuAnimator.Play("AnimaPainelAparece");
}
else
{
meuAnimator.Play("AnimaPainelSome");
}
void DestroiObjeto()
{
Destroy(gameObject);
}
}
/*
PONTUAÇÃO
PRESERVAR DADOS
*/
using UnityEngine.SceneManagement;
using UnityEngine;
using UnityEngine.UI;
int jogadaFelpudo = 0;
int jogadaUruca = 0;
GameObject iconeOpcaoBalao;
GameObject felpudo;
GameObject uruca;
GameObject.Find("PONTUACAO
FELPUDO").GetComponent<Text>().text = "" + pontosFelpudo;
GameObject.Find("PONTUACAO
URUCA").GetComponent<Text>().text = "" + pontosUruca;
float larguraImagem =
imagemFundo.GetComponent<SpriteRenderer>().sprite.bounds.size.x;
float alturaImagem =
imagemFundo.GetComponent<SpriteRenderer>().sprite.bounds.size.y;
// dimensoes em pixels
//print(Screen.width);
//print(Screen.height);
//altura da tela
float alturaTela = Camera.main.orthographicSize * 2.0f;
// largura da tela
float larguraTela = alturaTela / Screen.height * Screen.width;
imagemFundo.transform.localScale = novaEscala;
felpudo = GameObject.Find("FELPUDO");
uruca = GameObject.Find("URUCA");
Instantiate(balaoPensamento, felpudo.transform);
comecou = true;
GameObject.Find("TEXTO
INSTRUCOES").GetComponent<Text>().text = "Setas (ESQ/DIR)
Seleciona Jogada. ESPAÇO Jogar.";
meuAudioSource.Play();
Invoke("ExecutarJogada", 10.0f);
}
void ExecutarJogada()
{
if (!jogou)
{
GameObject.Find("TEXTO
INSTRUCOES").GetComponent<Text>().text = "";
jogou = true;
meuAudioSource.Stop();
meuAudioSource.PlayOneShot(somJogada);
GameObject.Find("BALAO
PENSAMENTO(Clone)").gameObject.SetActive(false);
Invoke("AdicionaSplash", 4.0f);
Invoke("AdicionaMaozinhas", 2.0f);
}
}
void CarregarProximaCena()
{
SceneManager.LoadScene("Menu Inicio");
}
void CarregarCenaJokenpo()
{
SceneManager.LoadScene("Cena Jogo Jokenpo");
}
void AdicionaSplash()
{
Instantiate(splashWinner);
if (jogadaFelpudo == jogadaUruca)
{
//print("Empatou");
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().text = "EMPATOU";
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().color = corEmpate;
//GameObject.Find("ICONE TOMATE
EMPATE").gameObject.SetActive(true);
//GameObject.Find("ICONE FELPUDO
WIN").gameObject.SetActive(false);
//GameObject.Find("ICONE URUCA
WIN").gameObject.SetActive(false);
}
else if (((jogadaFelpudo == 0) && (jogadaUruca == 2)) ||
((jogadaFelpudo == 1) && (jogadaUruca == 0)) ||
((jogadaFelpudo == 2) && (jogadaUruca == 1)))
{
//print("Jogador A Venceu!");
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().text = "FELPUDO WINS";
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().color = corWin;
//GameObject.Find("ICONE TOMATE
EMPATE").gameObject.SetActive(false);
//GameObject.Find("ICONE FELPUDO
WIN").gameObject.SetActive(true);
//GameObject.Find("ICONE URUCA
WIN").gameObject.SetActive(false);
pontosFelpudo++;
AtualizaTextoSplash("FELPUDO WINS", corEmpate, false, true,
false, somWin);
}
else if (((jogadaUruca == 0) && (jogadaFelpudo == 2)) ||
((jogadaUruca == 1) && (jogadaFelpudo == 0)) ||
((jogadaUruca == 2) && (jogadaFelpudo == 1)))
{
//print("Jogador B Venceu!");
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().text = "URUCA WINS";
//GameObject.Find("TEXTO
WINNER").GetComponent<Text>().color = corLose;
//GameObject.Find("ICONE TOMATE
EMPATE").gameObject.SetActive(false);
//GameObject.Find("ICONE FELPUDO
WIN").gameObject.SetActive(false);
//GameObject.Find("ICONE URUCA
WIN").gameObject.SetActive(true);
pontosUruca++;
AtualizaTextoSplash("URUCA WINS", corEmpate, false, false,
true, somLose);
GameObject.Find("TEXTO WINNER").GetComponent<Text>().text
= mensagem;
GameObject.Find("TEXTO
WINNER").GetComponent<Text>().color = cor;
GameObject.Find("ICONE TOMATE
EMPATE").gameObject.SetActive(icon1);
GameObject.Find("ICONE FELPUDO
WIN").gameObject.SetActive(icon2);
GameObject.Find("ICONE URUCA
WIN").gameObject.SetActive(icon3);
meuAudioSource.PlayOneShot(som);
Invoke("PodeReiniciar", 1.0f);
GameObject.Find("PONTUACAO
FELPUDO").GetComponent<Text>().text = "" + pontosFelpudo;
GameObject.Find("PONTUACAO
URUCA").GetComponent<Text>().text = "" + pontosUruca;
}
void PodeReiniciar() {
podeReiniciar = true;
GameObject.Find("TEXTO
INSTRUCOES").GetComponent<Text>().text = "Toque para Jogar
Novamente.";
}
void AdicionaMaozinhas() {
iconeMaoUruca.gameObject.GetComponent<SpriteRenderer>().sprite =
texturasIconeMao[jogadaUruca];
Instantiate(iconeMaoUruca, uruca.transform);
iconeMaoFelpudo.GetComponent<SpriteRenderer>().flipX = true;
iconeMaoFelpudo.gameObject.GetComponent<SpriteRenderer>().sprit
e = texturasIconeMao[jogadaFelpudo];
Instantiate(iconeMaoFelpudo, felpudo.transform);
}
}
using UnityEngine;
using UnityEngine.UI;
GameObject meuTexto;
Text campoTexto;
int contador = 0;
bool acabou = false;
void Start()
{
audioSource = GetComponent<AudioSource>();
//GameObject.Find("TEXTO
PENSAMENTO").GetComponent<Text>().text = "";
void AtualizaTexto()
{
if (contador < texto.Length) {
contador++;
campoTexto.text = texto.Substring(0, contador);
audioSource.PlayOneShot(efeito);
}
}
using UnityEngine;
void Update()
{
Vector3 posicaoBolinha = bolinha.gameObject.transform.position;
print("Posição: " + posicaoBolinha);
}
}
using UnityEngine;
[SerializeField]
string nome = "Felpudo";
[SerializeField]
int idade = 12;
[SerializeField]
[Range(0.0f, 1.0f)]
private float porcentagemX = 0.5f;
[SerializeField]
[Range(0.0f, 1.0f)]
private float porcentagemZ = 0.5f;
{
float px = Mathf.Lerp(-5.0f,5.0f,porcentagemX);
float pz = Mathf.Lerp(-5.0f, 5.0f, porcentagemZ);
box.transform.position = new Vector3(px,0,pz);
}
}
using UnityEngine;
void Start()
{
controle = GetComponent<CharacterController>();
transformCamera = Camera.main.transform;
}
void Update()
{
frenteCamera = Vector3.Scale(transformCamera.forward, new
Vector3(1, 0, 1)).normalized;
meuVetor = Input.GetAxis("Vertical") * frenteCamera +
Input.GetAxis("Horizontal") * transformCamera.right;
vetorDirecao.y -= 10f * Time.deltaTime;
controle.Move(vetorDirecao * Time.deltaTime);
if (Input.GetKey(KeyCode.LeftShift)) controle.Move(meuVetor *
velocidade * 5.0f * Time.deltaTime);
else controle.Move(meuVetor * velocidade * Time.deltaTime);
meuVetor = transform.InverseTransformDirection(meuVetor);
meuVetor = Vector3.ProjectOnPlane(meuVetor, Vector3.zero);
void AplicaRotacao()
{
float velocidadeGiro = Mathf.Lerp(180, 360, meuVetor.z);
transform.Rotate(0, giro * (velocidadeGiro * 2) *
Time.deltaTime, 0);
}
}
Joystick direcional;
ScriptBotaoX botaoX;
void Start()
{
controle = GetComponent<CharacterController>();
transformCamera = Camera.main.transform;
direcional = FindObjectOfType<Joystick>();
botaoX = FindObjectOfType<ScriptBotaoX>();
}
void Update()
{
frenteCamera = Vector3.Scale(transformCamera.forward, new Vector3(1, 0,
1)).normalized;
Input.GetAxis("Horizontal") * transformCamera.right;
meuVetor = transform.InverseTransformDirection(meuVetor);
meuVetor = Vector3.ProjectOnPlane(meuVetor, Vector3.zero);
void AplicaRotacao()
{
float velocidadeGiro = Mathf.Lerp(180, 360, meuVetor.z);
transform.Rotate(0, giro * (velocidadeGiro * 2) * Time.deltaTime, 0);
}
}
using UnityEngine;
Sprite cartaVerso;
Sprite[] cartas;
Animator meuAnimator;
AudioClip locucao;
void Update()
{
}
void Start()
{
cartas = GameObject.Find("MEU GAME
ENGINE").GetComponent<JogoDaMemoria>().cartas;
string url = "Locucoes\\" + cartas[indiceCarta].name;
locucao = Resources.Load<AudioClip>(url);
cartaVerso = GetComponent<SpriteRenderer>().sprite;
meuAnimator = this.gameObject.GetComponent<Animator>();
}
}
}
void MudaTexturaCarta()
{
if (virou) {
this.gameObject.GetComponent<AudioSource>().PlayOneShot(locucao
);
}
GetComponent<SpriteRenderer>().sprite = cartas[indiceCarta];
}
void OcultarCartasNoInicio()
{
meuAnimator.Play("AnimaCartaFecha");
Invoke("MudaTexturaVerso", 0.5f);
}
void MudaTexturaVerso()
{
GetComponent<SpriteRenderer>().sprite = cartaVerso;
virou = false;
}
}
using System.Collections;
using UnityEngine;
int jogadas;
int pontos;
GameObject[] cartasClicadas;
ScriptCarta[] listaCartas;
void Update()
{
}
void Start()
{
float larguraCarta = 5.0f;
float alturaCarta = 7.0f;
Camera.main.transform.position = new Vector3(colunas *
larguraCarta / 2.0f - larguraCarta / 2.0f,
cartas.Length*2 / colunas * alturaCarta / 2.0f - alturaCarta / 2.0f,
-1.0f);
void Awake()
{
textoFimDeJogo = GameObject.Find("TEXTO FIM DE JOGO");
textoFimDeJogo.gameObject.SetActive(false);
listaCartas = FindObjectsOfType<ScriptCarta>();
if (mostrarDica)
{
Invoke("MostrarCartas", 1.0f);
}
else
{
podeJogar = true;
}
void JogouSegundaCarta()
{
podeJogar = true;
if (cartasClicadas[0].GetComponent<ScriptCarta>().indiceCarta ==
cartasClicadas[1].GetComponent<ScriptCarta>().indiceCarta)
{
pontos++;
Destroy(cartasClicadas[0]);
Destroy(cartasClicadas[1]);
VerificaFimDeJogo();
}
else
{
cartasClicadas[0].GetComponent<Animator>().Play("AnimaCartaFecha"
);
cartasClicadas[1].GetComponent<Animator>().Play("AnimaCartaFecha"
);
cartasClicadas[0].GetComponent<ScriptCarta>().VoltaTexturaCartaVers
o();
cartasClicadas[1].GetComponent<ScriptCarta>().VoltaTexturaCartaVers
o();
}
jogadas = 0;
cartasClicadas = new GameObject[2];
}
void MostrarCartas()
{
foreach (ScriptCarta c in listaCartas)
{
c.MostrarCartasNoInicio();
}
Invoke("PodeJogar", 5.0f);
}
void VerificaFimDeJogo()
{
if (pontos == cartas.Length)
{
textoFimDeJogo.gameObject.SetActive(true);
}
}
void PodeJogar()
{
podeJogar = true;
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
// LISTA DE BOTOES
GameObject[] botoes = new GameObject[4];
GameObject textoFimDeJogo;
// CONTADORES DE JOGADAS
int contaJogadaEstatua = 0;
int contaJogadaPepe = 0;
// HABILITANDO A JOGADA
public bool podeJogar;
AudioSource meuAudioSource;
public AudioClip somWin;
public AudioClip somLose;
void Start()
{
spritePepe = Resources.Load<Sprite>("PEPE02");
GameObject.Find("GUARANA").GetComponent<Animator>().speed = 0.0f;
meuAudioSource = GetComponent<AudioSource>();
// INICIA O JOGO
Invoke("EstatuaJoga", 1.0f);
}
void EstatuaJoga()
{
TocaDisco(sequenciaAleatoria[contaJogadaEstatua]);
if (contaJogadaPepe == rodada)
{
rodada++;
if (rodada==sequenciaAleatoria.Length) {
EventoGameWin();
}
else {
contaJogadaEstatua = 0;
podeJogar = false;
Invoke("EstatuaJoga", 1.0f);
}
}
contaJogadaPepe++;
}
else
{
print("Errou");
AtualizaTextoFimDeJogo("PERDEU !");
podeJogar = false;
TocaDisco(0);
TocaDisco(1);
TocaDisco(2);
TocaDisco(3);
Invoke("RecarregarCena", 1.0f);
meuAudioSource.PlayOneShot(somLose);
}
}
void EventoGameWin() {
AtualizaTextoFimDeJogo("PARABÉNS !");
meuAudioSource.PlayOneShot(somWin);
podeJogar = false;
DisparaDiscoFinalWin();
GameObject.Find("GUARANA").GetComponent<Animator>().speed = 1.0f;
GameObject.Find("PEPE").GetComponent<SpriteRenderer>().sprite = spritePepe;
}
void DisparaDiscoFinalWin() {
print("voce venceu!!!!!");
if (contaPiscadasFinal > 0)
{
TocaDisco(contaPiscadasFinal % 4);
Invoke("DisparaDiscoFinalWin", 0.25f);
}
else {
RecarregarCena();
}
contaPiscadasFinal--;
}
void RecarregarCena() {
SceneManager.LoadScene("SampleScene");
}
}
using UnityEngine;
int indiceBotao;
indiceBotao = int.Parse(ultimoDigito);
}
if (GameObject.Find("MEU GAME
ENGINE").GetComponent<GeniusGameEngine>().podeJogar)
{
AcendeBotao();
VerificaJogada();
}
}
void VerificaJogada() {
GameObject.Find("MEU GAME
ENGINE").GetComponent<GeniusGameEngine>().VerificaJogadaDoPepe(indiceBotao);
}
}
FlappyBird em Unity2D
using UnityEngine;
using UnityEngine.SceneManagement;
void Awake()
{
SpriteRenderer grafico =
GetComponent<SpriteRenderer>();
using UnityEngine;
[Header("Animação de Entrada")]
public bool fadeInicial;
public bool escalaInicial;
public float velocidadeEntrada = 1.0f;
public float atrasoAnimacaoEntrada = 0.0f;
[Space(10)]
public bool animaSlide;
public float offSetX = 2;
public float offSetY = 2;
[Header("Animação em Loop")]
public bool move;
public bool gira;
public bool some;
public bool cresce;
bool podeComecar;
SpriteRenderer meuSpriteRenderer;
Vector3 posicaoInicial;
Vector3 rotacaoInicial;
if (animaSlide) {
this.gameObject.transform.position -= new Vector3(offSetX,
offSetY, 0);
}
if (fadeInicial)
{
meuSpriteRenderer.color = new Color(1, 1, 1, 0);
}
if (escalaInicial)
{
this.gameObject.transform.localScale = new Vector3(0, 0, 0);
}
Invoke("PodeComecar", atrasoAnimacaoEntrada);
}
void PodeComecar() {
podeComecar = true;
}
void Update()
{
if (podeComecar) {
if (audioClipEntrada != null && !tocouSom)
{
tocouSom = true;
Camera.main.GetComponent<AudioSource>().PlayOneShot(audioClipE
ntrada);
}
if (fadeInicial)
{
float opacidade = (Time.time-atrasoAnimacaoEntrada) /
velocidadeEntrada;
meuSpriteRenderer.color = new Color(1, 1, 1, opacidade);
}
if (escalaInicial)
{
float escala = Mathf.Min((Time.time -
atrasoAnimacaoEntrada) / velocidadeEntrada, 1.0f);
this.gameObject.transform.localScale = new Vector3(escala,
escala, 1);
}
if (move)
{
float px = (Mathf.Sin((Time.time - atrasoAnimacaoEntrada) *
frequencia) * amplitudeX);
if (gira)
{
float angulo = Mathf.Sin((Time.time - atrasoAnimacaoEntrada)
* frequencia) * amplitudeX;
this.transform.eulerAngles = rotacaoInicial + new Vector3(0,
0, angulo);
}
if (cresce)
{
float escala = ((Mathf.Sin((Time.time -
atrasoAnimacaoEntrada) * frequencia) / 2.0f) + 0.5f);
escala = Mathf.Lerp(escalaMin, escalaMax, escala);
this.gameObject.transform.localScale = new Vector3(escala,
escala, 1);
}
if (some)
{
float opacidade = ((Mathf.Sin((Time.time -
atrasoAnimacaoEntrada) * frequencia) / 2.0f) + 0.5f);
opacidade = Mathf.Lerp(opacidadeMin, opacidadeMax,
opacidade);
meuSpriteRenderer.color = new Color(1, 1, 1, opacidade);
print(opacidade);
}
}
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine;
bool comecou;
{
transform.position = new Vector2(19.1f, 0f);
}
comecou = true;
}
void Update()
{
if (comecou) {
if (transform.position.x <= -19.1f)
{
transform.position = new Vector2(19.1f,
0f);
}
}
}
}
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
GameObject textoMensagem;
AudioClip somBate;
AudioClip somVoa;
AudioClip somPonto;
bool comecou;
public bool acabou;
bool podeReiniciar;
int pontos;
void Start()
{
cucaLambe = GameObject.Find("CUCA LAMBE");
cucaGrito = GameObject.Find("CUCA GRITO");
cucaGrito.gameObject.SetActive(false);
textoPontos = GameObject.Find("PONTOS");
textoPontos.GetComponent<Text>().text = "" + pontos;
textoMensagem = GameObject.Find("MENSAGEM");
void Update()
{
if (Input.GetMouseButtonDown(0) && podeReiniciar)
{
SceneManager.LoadScene("CENA JOGO");
}
GameObject.Find("FUNDO
A").GetComponent<ScriptScrollingBackground>().ComecouJogo();
GameObject.Find("FUNDO
B").GetComponent<ScriptScrollingBackground>().ComecouJogo();
textoMensagem.SetActive(false);
cucaLambe.SetActive(false);
cucaGrito.SetActive(true);
cucaGrito.GetComponent<Rigidbody2D>().velocity = new
Vector2(-2, 0);
}
GetComponent<AudioSource>().PlayOneShot(somBate);
}
}
void TextoFimDeJogo()
{
textoMensagem.SetActive(true);
textoMensagem.GetComponent<Text>().text = "FIM DE JOGO";
Invoke("ToqueParaReiniciar", 1.0f);
}
void ToqueParaReiniciar()
{
textoMensagem.GetComponent<Text>().text = "Toque para
reiniciar.";
podeReiniciar = true;
}
void CriaPilares()
{
GameObject pilar = Instantiate(Resources.Load("SET PILARES")
as GameObject);
pilar.transform.position = new Vector3(10.0f, Random.Range(-1.5f,
0.5f), 0);
pilar.GetComponent<Rigidbody2D>().velocity = new Vector2(-2, 0);
Invoke("CriaPilares", Random.Range(2.1f, 5.3f));
}
void CriaSementes()
{
using UnityEngine;
void Start()
{
void Update()
{
bool acabou = GameObject.Find("MEU GAME
ENGINE").GetComponent<ScriptGameEngine>().acabou;
if (Input.GetMouseButtonDown(0) && !acabou)
{
if (!comecou)
{
comecou = true;
GetComponent<Rigidbody2D>().isKinematic = false;
}
GetComponent<Rigidbody2D>().velocity = Vector2.zero;
GetComponent<Rigidbody2D>().AddForce(forcaImpulso);
transform.rotation = Quaternion.Euler(0, 0,
GetComponent<Rigidbody2D>().velocity.y * 3f);
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag == "SEMENTE")
{
Destroy(collision.gameObject);
GameObject.Find("MEU GAME
ENGINE").GetComponent<ScriptGameEngine>().AtualizaScore();
}
if (collision.gameObject.tag == "PILAR")
{
GameObject.Find("MEU GAME
ENGINE").GetComponent<ScriptGameEngine>().FimDeJogo();
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.gameObject.tag == "VAO")
{
GameObject.Find("MEU GAME
ENGINE").GetComponent<ScriptGameEngine>().AtualizaScore();
}
}
}
using UnityEngine;
void Update()
{
if (this.gameObject.transform.position.x<-10) {
Destroy(this.gameObject);
}
}
}
Parabéns querido aluno por chegar até aqui e ter adquirido mais este
valioso conhecimento!