0% encontró este documento útil (0 votos)
10 vistas204 páginas

CSharp Programación

Programa C# ejemplos y uso de unity 1

Cargado por

Mario KN
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas204 páginas

CSharp Programación

Programa C# ejemplos y uso de unity 1

Cargado por

Mario KN
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Aprendendo a man OO al Minds Whicomaceg! Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Copyright © 2022 de Tito Petri Todos os direitos reservados. Este ebook ou qualquer parte dele nado pode ser reproduzido ou usado de forma alguma sem autorizagao expressa, por escrito, do autor ou editor, exceto pelo uso de citagdes breves em uma resenha do ebook. Primeira edigdo, 2020 ISBN 0-5487263-1-5 [Link] Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petti - Todos os Direitos Reservados. Criagao de Games com Unity Engine e Linguagem C# por Tito Petri Links para Download Criando um Novo Projeto no Unity Janelas e Editores Restaurando o Layout Original Estrutura do Projeto Editor de Cena e Navegacao 3D Adicionando um Novo Objeto na Cena Menu Inspetor e Componentes Adicionando um Material Criando um novo Script em C# Configurando o Visual Studio como Editor Evento Comentario e Print Executando um Script Monitorando o Console Monitorando Erros Declaracéo de Variaveis Operadores Aritméticos e Unarios Fungdes Matematicas Numeros Aleatorios - Random Operagées com Strings Operadores Légicos Operadores de Comparacéo Condicao If Else Tito Petri © 2022 - Todos os Direitos Reservados. www [Link] indice SN 1S Teo FR Te IS IB IS Hoo IN 1S 1h [03 IS bo loo A Ia IR Ie Is IS to SBRRBREBRBARBBBBBEBREEBRE Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petti- Todos os Direitos Reservados. Jogo do Par ou Impar Jogo do JoKenP6 Listas ou Arrays ArrayLists Loop de Repeticaéo For Matriz Multidimensional Sorteio de Nomes Buscar Nome na Lista Métodos Fungdes e Procedimentos Modificadores de Acesso Declaracdo de Classe Inputs de Mouse e Teclado Acessando Propriedades Game Object e Set Active Acessando Componentes Acessando Materiais Jogo da Velha - TicTacToe Movimentacao Lateral Movimentacdo 3D do Jogador Hierarquia de Cena Camera LookAt Camera Follow Girar Item Meu Primeiro Game Completo Multiplas Cameras Criando uma Nova Cena Interface Menu Inicial - GUI Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] SA NANARPRPER EMEP e BREE BBABREBBBERBRERERBREBBEREEBEB Aprenda Programar - Linguagem C# Copyright © 2022 Tito Pet - Todos os Diretos Reservas. Array de Moedas - Linha Array de Moedas - Random Array de Moedas - Ring Array de Moedas - Grade 2D Inimigo - Movimento Circular Inimigo - Movimento Bounce Inimigo - Movimento Follow Colidir com Inimigo Efeito de Dano e Impulso Pulo e Estados do Pulo Pisca Material - Single Pisca Multiplos Materiais AudioSource e AudioClip - Sons e Musica Evento GameOver Aco de Atirar Script do Projétil e Particulas KO [0 KO [12 KO [~ [KO [tO [© JOR [o> JOD Jor foo Jor Joo BEREERESEBRBEREE Script MovePlayer - Game Felpudo Adventure Versao 1.0 100 Porta Abre e Fecha - FBX com Animacao 108 Porta Abre e Fecha - Animator 109 Character Controller Basico 41 Relégio com Minutos ¢ Sequndos - Contagem Rearessiva 412 Flappy Bird 3D 116 Unity 2D - Menu Inicial Botao e Transicdo entre Telas 4127 Jogo do JokemPo - Transigao entre Telas e Personagens 130 Cena JoKenPo - Parte | 137 Jo Ken Pé com Unity 2D - Projeto Final 146 Texto com Efeito de Maquina de Escrever 162 Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Pet - Todos os Diretos Reservas. Operagées com Vetores - Avancado 165 Serialized Field e [Link] 167 Movimento Player Normalizado (Teclado' 169 Movimento Player Normalizado (Joystick) i174 Jogo da Meméria com Unity 2D 173 Genius (Simon) em Unity 2D 184 FlappyBird em Unity2D 187 Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Links para Download Para realizar este treinamento vocé precisa ter Unity e do Visual Studio Instalados. Ambos so gratuitos e funcionam em todas as plataformas (Windows Mac e Linux). Para baixar o Unity, baixe primeiro o Unity HUB (aplicativo que fara o download, instalagao e gerenciamento dos seus projetos no Unity 2019). Download Unity Hub [Link] Para editar os Scripts do Unity vocé pode usar até mesmo 0 Bloco de Notas. Porém é recomendavel que vocé use o Visual Studio IDE para projetos em Linguagem C#. Ele tem varios recursos que vao nos ajudar a programar em C# e debugar nossos projetos no Unity. Download Visual Studio 2019 [Link] io. micre m/downk Outro poderoso editor de texto gratuito (para qualquer linguagem de programagao) que recomendo, é o Sublime Text. Download Sublime Text (opcional) [Link] Aprenda Programar - Lin: 022 Tito Petri - Todos os Dire 1s Reserv Criando um Novo Projeto no Unity Qunty % et You have no project here. ne Ad if you want Ao abrir o Unity pela primeira vez, vocé vai se deparar com esta tela do Unity Hub, Aqui podemos gerenciar as Instalagées de diferentes versées do Unity, nossos projetos recentes, além de poder estar logado com sua conta no Unity Connect para realizar backup de dados na nuvem. Para criar um novo projeto, clique em New e crie um projeto em 3D. - Todos 0s Direitos Reservado: ° mine Projects oo Aprenda Programar - Ling Copyright © 2022 Tito Petri - Todos os Diraitos Resorvados. remplate Settings eu Projero &B g @ Dé um Nome para 0 seu projeto e escolha um diretorio para salva-lo. Apés clicar no botao Create, aguarde alguns minutos até que o editor crie todos os arquivos e pastas necessarios para 0 projeto iniciar. Apés este processo, 0 editor do Unity vai abrir e estamos prontos para comegar. Tito -Tod [Link] Direitos Reservado: Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Janelas e Editores Principais Editores: e Scene - Editor Visual da Cena 3D e Hierarchy - Objetos existentes na cena aberta e Project - Arquivos e diretérios que compée o projeto e Inspector - Propriedades do objeto selecionado Console - Mensagens de status, alertas e debug Atalho util: Shift + Espaco Maximizar Janela Ativa (em foco) Tito Petri © 2022 - Todos os Direitos Reservados. 1 [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Restaurando o Layout Original Se perder ou fechar algum dos painéis e quiser restaurar o layout original do programa, acesse a opcao Window > Layouts > Revert Factory Settings iil Co De Fiero Bring All to Front eran) Asset Store Package Manager BC aE el tu ae ACC aiges - Ret sade cl eesti} Neste mesmo menu, podemos alternar também entre outros tipos de Layouts. Isto se refere apenas a organizacao das janelas e painéis principais. = Tod [Link] os Direitos Reservados. Aprenda Progra Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Estrutura do Projeto ee Create cy Delete Rename Cd Cen . ee la Braect (Semester! foe + alee z A Fevers asses > eee ad iM arenes i bes Santa Q J Packages ym pasete Linc nce | Cry > mPackoges ia Na aba project, podemos explorar a estrutura de pastas do nosso projeto. Com o botao direito (Reveal em Finder no Mac ou Show in Explorer no Windows) podemos acessar os arquivos na sua pasta original em seu sistema operacional. Podemos ignorar todas as pastas e nos atentar apenas a pasta Assets, que é onde ficarao todos os arquivos e recursos do nosso jogo (modelos 3D, sons, graficos, telas e botées). Por padrao, também foi criado um arquivo chamado [Link] que é a nossa cena em 3D que esta aberta na aba Scene. Tito -Tod [Link] Direitos Reservado: Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Editor de Cena e Navegagao 3D jw] ] | | Ed fan) © ts | b=) a0 [3 ~| Estas os atalhos das ferramentas para navegar por dentro de uma cena 3D e manipular os objetos. Atalhos de Navegagao Orbit Alt + Clique Esquerdo Pan Click do Scroll Zoom Scroll F Zoom no objeto selecionado z Alinhamento do Pivot (Object / Center) x Orientagao do Pivot (Local / World) Tito Petri © 2022 - Todos os Direitos Reservados. www [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Gizmos de Manipulagao Pan =o Move Rotate Scale Rect Tool <4a m7 Move Rotate Scale (segure Shift para View Align) Outros Comandos uteis no Editor: Ctrl +P Executar Aplicagao (Play / Stop) Shift +Espago Tela Cheia na Janela Ativa (em foco) Ctrl+D Duplicar Ctrl+N Novo Node - Empty = Tod [Link] os Direitos Reservados. Aprenda Programar - Lingua Copyright © 2022 Tito Petr - Todos 08 jreitos Reservados. Adicionando um Novo Objeto na Cena Ser ea aed Aprenda Programar - Linguagem C#t ‘Copyright © 2022 Tito Patri - Todos os Direitos Reservados Menu Inspetor e Componentes Aqui é onde podemos acessar todas as Propriedades (parametros e componentes) do objeto selecionado. Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] 1 Aprenda Programar - Lingua Copyright © 2022 Tito Petri - Todos os Diraitos Resorvados. Adicionando um Material Perceba que um novo arquivo de material foi adicionado ao projeto. Para adicionar o Material a um objeto, basta arrastar o material de dentro da aba Project, para cima do objeto, na aba Scene ou Hierarchy. Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Criando um novo Script em C# Bry Crs ee COE} BOC aey a Pe Por Para criar um novo Script em C# (C-Sharp), basta também clicar na op¢ao + e selecionar C# Script. Tito Petri © 2022 - Todos os Direitos Reservados. 1 [Link] Aprenda Programar - Linguagem C#t ‘Copyright © 2022 Tito Patri - Todos os Direitos Reservados Novo Arquivo de extensdo .cs (C#) criado no diretério do projeto Apos criar o Script, vocé deve arrasta-lo para o objeto que ira receber sua programacao para adicionar o Script ao funcionamento da cena. Tito Petri © 2022 - Todos os Direitos Reservados. 1" ‘[Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. cord Roe ea ad ra) fetes Go or ae) Para editar um Script vocé pode clicar 2 vezes sobre ele na aba Project, ou acessar a op¢ao Edit Script dentro do componente na aba Inspector. Antes de fazer isso, veja o proximo passo para saber “Como Configurar o Visual Studio como o Editor de Scripts Padrao do Unity’. Tito Petri © www/[Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Configurando o Visual Studio como Editor Para usar o Visual Studio como Editor de Scripts, devemos fazer a seguinte configuragao: @ (Unity File Edit Assets About Unity... ake ee elarela toils rey Va em Unity > Preferences Em External Tools, configure o Visual Studio como editor. = Tod [Link] os Direitos Reservados. Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Open by file extension Peery coo pen by file exte Agora sempre que vocé der 2 Cliques em um Script, ou usar a opgao Edit Script, o Unity abrira seu projeto para edi¢do no Visual Studio. Vea tus Carman 2019 for Mae using [Link]; 2 using [Link]; 3 using UnityEngine; 4 5 public class MeuScript : MonoBehaviour 6 4 7 // Start is called before the first frame update 8 void Start() 9 4 10 1 ¥ 2 B // Update is called once per frame 4 void Update() 15 { 16 v7 y 1s} 19 Tito Petri © 2022 - Todos os Direitos Reservados. 2 ‘[Link] 1022 Tito Petri - Todos o: O Visual Studio possui varios recursos que irao nos ajudar a entender a linguagem C# e a criar nossas programagées. Por exemplo: © Colorir a Sintaxe Auto-Completar Dicas e Avisos sobre erros e sintaxe Debug do Codigo Auto-Identagao do Cédigo (basta selecionar tudo, copiar e colar) Evento Comentario e Print using UnityEngine; public class MeuScript : MonoBehaviour { II Evento executado ao iniciar void Start() print("Hello World"); [Link]("Eu sou o Felpudo"); i Isto é um comentario em Miltiplas Linhas | II Evento executado varias vezes por segundo Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. void Update() { print("ABC"); } } Tito Petri © 2022 - Todos os Direitos Reservados. [Link] 1022 Tito Petri - Todos os Direitos Reservados. Executando um Script TW] © inspector at [cizmos @ ~ cwe ~ | statle 7 Tag Player ~/ Layer Defout ~ YA Transform or: Position xo _|Voz77 |z0 Rotation xo jyo__|zo sei mer v1 > Ei Cube (Mesh Filter) Y#) 7) Meu Seript (Script) Meuserpt Default-Material r) 2 5 = Shader Standare ‘Add Component Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Monitorando o Console Tito Petri © 2022 - Todos os Direitos Reservados. 21 [Link] Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Monitorando Erros Cleo Pay Tito Petri © 2022 - Todos os Direitos Reservados. 2 ‘[Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. =e oe 19 // Evento executado v 20 void Update() { 22° print ("ABC") } Tito Petri © 2022 - Todos os Direitos Reservados. www/[Link] 1022 Tito Petri - Todos os Direitos Reservados. Copyright © Declaragao de Variaveis using UnityEngine; public class Aula_01_Variaveis : MonoBehaviour II Declaragao de Varidveis public string nome = "Tito Petri”, public int idade = 23; public double distancia = 2.5; public float altura = 1.751 public bool verificado = tru void Start() print("Hello Unity World!"); print("Meu nome é" + nome); print("Altura: " + altura +" - Idade: " + idade) } void Update() print("Game Loop =)"); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Operadores Aritméticos e Unarios using UnityEngine; public class Aula_02_OperadoresAritmeticosUnarios : MonoBehaviour void Start() { 1] Operadores Aritméticos print(10 + 30); print(30 - 5); print(10 * 30); print(10 / 3.0f); 1 Médulo print(10 % 3); print(5 % 2); /| Operadores Unarios var numero = 10; numero = numero + 10; numero + numero %= 3; print(numero); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Fungdes Matematicas using UnityEngine; public class Aula_03_FuncoesMatematicas : MonoBehaviour { void Start() { print([Link]); print([Link](90)); print([Link](90)); print([Link](90)); print([Link](10,3)); print([Link](100)); var meuAngulo = 18 var meuRadianos = 6.28f; print(meuAngulo * Mathf.Deg2Rad); print(meuRadianos * Mathf.Rad2Deg); print([Link](3.5f)); print([Link](3.5f)); print([Link](3.5f)); print([Link](3.5f)); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Numeros Aleatorios - Random using [Link]; using [Link]; using UnityEngine; public class Aula_09_NumerosAleatorios : MonoBehaviour { void Start() { print([Link](0.0F, 1.0f)); II Sobrecarga +1 (exibiré os numeros de 0.a 4) print(Random Range(0, 5)); } JI Update is called once per frame void Update() { } } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Operacgées com Strings using UnityEngine; public class Aula_04_OperacaoStrings : MonoBehaviour { void Start() { } string nome = "Felpudinho Jinior", print(nome Length); print([Link]()): print([Link]()); string meuNome = [Link]("Jtinior", “da Silva"); print(meuNome);, print("Programagao em C#"); print("\tProgramagao em C#"); print("\nProgramagao \nem \nG#\in"); print("\"Programagao em C#\ print("'Programagao em CAN"); print("\Programagao em C#"); void Update() { } } Operadores Légicos © 2022 Tito Pett - Todos os Direitos Reservados. using [Link]; using [Link]; using UnityEngine; public class Aula_05_OperadoresLogicos : MonoBehaviour { void Start() { 11 Booleanas bool valorA = false; bool valorB = true; print(valorA); II Operadores Légicos print(ttrue); print(true && false); print(true || false): print(!valorA); print(valorA && valorB); print(valorA || valorB); } void Update() { } } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Operadores de Compara¢gao using UnityEngine; using [Link]; public class Aula_06_OperadoresComparacao : MonoBehaviour { void Start() { I Igual e Diferente print(10 == 10); print("Felpudo" Felpudo Jr."); 11 Maior e Menor print(10 > 5); print(10 < 5); // Maior ou Igual - Menor ou Igual print(10 print(10 } void Update() { } } Copyright Condigao If Else © 2022 Tito Pett - Todos os Direitos Reservados. using [Link]; using [Link]; using UnityEngine; public class Aula_07_CondicaolfElse : MonoBehaviour { void Start() { int idade = 12; if idade < 18) { print("Nao pode dirigit"); }else iffidade >= 60 print("Deve renovar a carta"); }else { print("Pode dirigir"); } } void Update() { } } © 2022 Tito Pett - Todos os Direitos Reservados. using [Link]; using [Link]. Generic; using UnityEngine; public class Aula_08_EstruturaSwitch : MonoBehai { void Start() { string nome = "Tito"; switch (nome) { case "Tito": print("Eu sou o Tito Petri); break; case "Felpudo": print("Este 6 o Felpudo"); break; case "Fofura”: print("Old, eu sou a Fofural"); break; default: print("Nenhum usuario encontrado"); break; } } void Update() { } } Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] 3 Copyrigh Jogo do Par ou Impar nt © 2022 Tito Petri - Todos 08 Direitos Reservados. using UnityEngine; public class Aula_10_ParOulmpar : MonoBehaviour { void Start() print("Jogador A - PAR - " + jogadaA); print("Jogador B - IMPAR - " + jogadaB); if ((GogadaA + jogadaB) % 2) == 0) { print("Jogador A Venceut"); De { print("Jogador B Venceu!"); ) } void Update() { } } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Jogo do JoKenP6é using UnityEngine; public class Aula_11_Jokempo : MonoBehaviour { void Start() { 11 0-pedra 1-papel 2-tesoura int jogadaA = [Link](0, 3); int jogadaB = [Link](0, 3); 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 (GogadaA. (Gogadaa. { 1022 Tito Petri - Todos o: 1) 8& (jogadaA 2) &8 (jogadaA print("Jogador B Venceu!"); } void Update() { Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Listas ou Arrays using UnityEngine; public class Aula_12_ListasArrays : MonoBehaviour { void Start() { int{] numeros = { 10, 20, 30, 40, 50 }; stringl] nomes = { “Tito”, "Felpudo", "Fofura’, "Bugado” }; booll] verificados = { true, true, false, true, false }; string[] meusNomes = new string[6]; int] meusNumeros = new int{15}; meusNumeros = new int(} (1, 3, 5, 7, 9}: int] meuArray; meuArray = new int(} {1, 3, 5,7, 9}: print(nomes); print(numeros[0}); print(nomes[0].Length); print(verificados(0)) } void Update() { } } © 2022 Tito Pett - Todos os Direitos Reservados. ArrayLists using [Link]; using [Link]; using UnityEngine; public class Aula_13_ArrayList : MonoBehaviour { void Start() { I ArrayList nomes = new ArrayList(); II nomes = new ArrayList(newl] { "Tito Petri, "Felpudo", "Fofura”, "Lesm: Mh ArrayList nomes = new ArrayList(); [Link]("Tito"); [Link]("Felpud [Link]("Fofura"); [Link]("Lesmo"); [Link]("Bugado"); [Link]("Uruca”); print(nomes(2}); print([Link]); print(nomes); [Link]("Tito”) [Link](4, "Tito Petri’ nomes. RemoveAt(1); [Link](0, 2); } void Update() { } } Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados, Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Loop de Repeti¢ao For using UnityEngine; public class Aula_14_LoopFor : MonoBehaviour { void Start() { for (int i= 0; 1 < 10; i++) { print); } print” for (int i= 20; { print); } string[] nomes = { "Felpudo", “Fofura”, "Lesmo", "Bugado" }; for (int i= 0; i < [Link]; i++) { print(‘Nome: “ + nomesfi]); } foreach (string nome in nomes) { print("Usuario: "+ nome); } } void Update) { } yright © 2022 Tito Petti - Todos os Direitos Reservados. Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Matriz Multidimensional using [Link]; using [Link]; using UnityEngine; public class Aula_15_MatrizMultidimensional : MonoBehaviour { void Start() { stringl,] matrizNomes = new string[3, 4] { {°Felpudo", "Fofura”, "Lesmo", "Bugado"}, {'Sdo Paulo’, *Patépolis", “Salvador’, "Neverland"}, {7ABCD", "EFGH", "WIKL", "MNOP"}; for (int i= 1;1 <= 5; i++) { for (int j= 1:) <= 5: j++) { print(™+i+j); } } print(matrizNomes. GetLength(0)); print(matrizNomes. Get ength(1)); for (int i= 0; i <= [Link](0) - 1; i++) { for (int j = 0; | <= [Link](1) - 1; j++) { print(matrizNomesfi,j)); } } } void Update() { } } Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados, Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] 4 Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Sorteio de Nomes using UnityEngine; Public class Aula_16_SorteioNomes : MonoBehaviour { void Start() { stringl] nomes = { "Felpudo’, "Fofura’, "Lesmo", "Bugado”, "Uruca’, "Peluche"}; int meuRandom = Random Range(0, [Link]) print("Ganhador: * + nomes[meuRandom)); } void Update() { } } © 2022 Tito Pett - Todos os Direitos Reservados. Buscar Nome na Lista using [Link]; using UnityEngine; public class Aula_17_BuscarNome ; MonoBehaviour { Public string nomePesquisado = "Felpudo’ void Start() { ArrayList nomes = new ArrayList(); ArrayList IDs = new ArrayList(); nomes = new ArrayList(newf] { “Tito Petri", "Felpud Fofura’, "Lesmo", "Bugado ruca" ); IDs = new ArrayList(new!] { 12, 10, 33, 13, 100, 5 }); bool encontrado = false; for (int i = 0; i< [Link]; i++) { if (nomes{i]. Equals(nomePesquisado)) { encontrado = true; print("Nome Encontrado” + nomes{i] + !Ds{i); break; d } if (lencontrado) { print("Nome Nao Encontrado!"); } } void Update() { } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Métodos Fungées e Procedimentos using UnityEngine; public class Aula_18_MetodosFuncoesProcedimentos : MonoBehaviour { void Start() { falar(); andar(12); print(muttiplicar(50, 10)); } void falar() { print("Ola! Eu sou o Felpudo!"); } void andar(int distancia) { print("Andou " + distancia +" metros."); } int multiplicar(int a, int b) { retum a*b; } void Update() { } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Modificadores de Acesso using UnityEngine; public class Aula_19_ModificadoresAcesso : MonoBehaviour { public Animal animal; void Start() { animal = new Animal("Felpudo", "Brasil", 12, true); [Link](4.51); print([Link]()); } void Update() { } © 2022 Tito Pett - Todos os Direitos Reservados. Declaragao de Classe using UnityEngine; using [Link]; public class Animal { string nome; string pais; int idade; bool vertebrado; float distanci 5.5f; public Animal(string nome, string pais, int idade, bool vertebrado) { this. nome = nome; [Link] = pais; [Link] = idade, [Link] jertebrado; } public void andar(float distancia) { } [Link]( distancia); public string falar() { } } return "Ola eu sou 0 Felpudo!"; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Inputs de Mouse e Teclado using UnityEngine; public class Exemplo01_Inputs : MonoBehaviour { void Start() { } void Update() { if (Input. GetKey([Link])) print("Espago"); } if (Input. GetkeyDown([Link])) { print("Apertou Espaco"); } if (Input. GetkeyUp([Link])) { print("Soltou Espag } if ([Link](“up")) { print("Seta Cima) } } private void OnMouseDown() { Copyright © 2022 Tito Petri - Todos os Direitos Reservados. [Link]("Clicou no Objeto" } private void OnMouseEnter() { [Link]("Entrou') } private void OnMouseExit() { [Link]("Saiu’); } } Acessando Propriedades using UnityEngine; public class Exemplo02_Propriedades : MonoBehaviour { void Start() { print([Link]; print(this transform); print([Link]. position); print([Link]. rotation z); print([Link]); } void Update() { if (Input. GetKey("space")) { this gameObject SetActive(false); } } } Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] 5t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Game Object e Set Active using UnityEngine; public class Exemplo03_HideToggle : MonoBehaviour { Ipublic GameObject meuObjeto; GameObject meuObjeto; Private bool estado; void Start() { IImeuObjeto = [Link]("Cube”); meuObjeto = GameObject FindWithTag("Player’); } void Update() if (Input. GetKeyDown("up")) { estado = lestado; [Link](estado); } } } © 2022 Tito Pett - Todos os Direitos Reservados. Acessando Componentes using UnityEngine; public class Exemplo04_Componentes : MonoBehaviour { BoxCollider boxCollider; new Renderer renderer; void Start() { boxCollider = GetComponent(); [Link] = true; renderer = GetComponent(); renderer. [Link] = [Link]; } void Update() { } Acessando Materiais © 2022 Tito Pett - Todos os Direitos Reservados. using UnityEngine; public class Exemplo05_MudarMateriais : MonoBehaviour { public Color color; new Renderer renderer; void Start() { renderer = GetComponent(); } void Update() { } private void OnMouseEnter() { } private void OnMouseExit() { } [Link] = color; [Link] = [Link]; } Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Jogo da Velha - TicTacToe using UnityEng public class BoxClica : MonoBehaviour { public int indice; GameObject tabuleiro; void Start() { tabuleiro = GameObject Find("TABULEIRO"); } void Update() Tito 2022 - Tod 6 [Link] Direitos Reservad © 2022 Tito Pett - Todos os Direitos Reservados. { } private void OnMouseDown() { tabuleiro. GetComponent() jogou\indice, this. gameObject transform position); Destroy([Link]); } } using UnityEngine; public class TicTacToeEngine : MonoBehaviour { public GameObject xi Public GameObject bolinha; int rodada int{] jogadas = { 0, 0, 0, 0, 0,0, 0, 0, 0}; void Start() { } void Update() { } Public void jogoutint indiceClicado, Vector3 posicao) { Iprint(*Clicou no Box:" + indiceClicado); if (rodada % 2 != 0) Copyright © 2022 Tito Petri - Todos os Direitos Reservados. { Instantiate(xis, posicao, [Link]); jogadasfindiceClicado] = 4; / 1 = XIS } else { Instantiate(bolinha, posicao, Quatemion identity); jogadas|indiceClicado] = 2; // 2 = BOLINHA } rodada++; verificalogada(); } void verificaJogada() { IMfor (int = 0; 1 < [Link]; i++) { Wl print(jogadasil); MN 11 verificacao na horizontal if (Jogadas(0] == 1 &8 jogadas(1] == 1 &8 jogadas(2] == 1) || (ogadas{3] == 1 &8 jogadas[4] == 1 &8 jogadas{5] == 1) || (ogadas[6] == 1 &8 jogadas{7] == 1 && jogadas[8] == 1) || Wverificacao na vertical (ogadas[0] == 1 && jogadas[3] == 1 && jogadas[6] == 1) || (ogadas[1] == 1 &8 jogadas[4] == 1 && jogadas{7] == 1) || (ogadas{2] == 1 &8 jogadas[5] == 1 && jogadas[8] == 1) || 1 verificacao na diagonal (ogadas{0] == 1 && jogadas[4] == 1 && jogadas{8] == 1) || (ogadas{2] == 1 &8 jogadas/4} 1) { print(‘Jogador XIS Ganhout"); } else if (Gogadas(o) (ogadas[3} (ogadas{6] && jogadas(1 2 &8 jogadasi4] 2 &8 jogadas|7] Ierificacao na vertical (ogadas(0] == 2 && jogadas[3] == 2 && jogadas|6] == 2) || Copyright © 2022 Tito Petri - Todos os Direitos Reservados. } 11 verificacao na diagonal (ogadas(0} (ogadas|2] 2 && jogadas{4] 2 && jogadas|4] { print("Jogador BOLINHA Ganhot } else { if (rodada print(” } 10) { jeu Velhal"); } } 2&8 jogadas{7] 2&8 jogadas|8] 2&8 jogadas{8]) 2&8 jogadas|6] Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Movimentagao Lateral using UnityEngine; public class MeuScript : MonoBehaviour { float px = 0.0F; public float velocidade Public float aceleracao void Start() { } void Update() if (Input. GetKey(KeyCode RightArrow)) { Px += velocidade * [Link]; } else if (Input GetKey(KeyCode. LeftArrow)) { px -= velocidade * [Link]; } else { px "= aceleracao; } [Link] += new Vector3(px, 0, 0); float posicaoX = transform position x; if (transform,position.x > 3.0f) { px = 0; © 2022 Tito Pett - Todos os Direitos Reservados. } } posicaox = 3.0f; } else if (transform position x <-3.0f) { px=0; posicaoX = -3.0f; } [Link] = new Vector3(posicaoX, 0.5f, 0); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Movimentagao 3D do Jogador using UnityEngine; public class Exemplo07_MovimentoPlayer : MonoBehaviour { float velocidade = 5.0f; float giro = 90.0F; Vector3 inicio; void Start() { inicio = transform position } void Update() { if (Input. GetKey(KeyCode RightArrow)) { transform. Rotate([Link], giro * [Link]); } else if (Input GetKey(KeyCode LeftArrow)) { transform, Rotate([Link], -giro * [Link]); } if (Input. GetKey(KeyCode. UpArrow)) { transform. Translate([Link] * velocidade * [Link]); } else if (Input GetKey([Link])) { transform, Transiate(-Vector3,forward * velocidade * [Link]); } if (Input. GetKey([Link])) 2022 Tito Petti - Todos os Direitos Reservados. { } [Link] inicio; Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Hierarquia de Cena RSs kyo aa] Por enquanto vamos apenas desenvolver um prototipo do personagem, utilizando primitivas Cube e Spheres do Unity. Lembre-se que para criar uma Hierarquia, basta arrastar um node para dentro do outro, na aba Hierarchy, do filho para o pai. Tito 2022 - Tod [Link] Direitos Reservad 6i Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Esta é a hierarquia que criamos para 0 nosso personagem. Agora todos 0s objetos ficam ligados 4 um Unico pai. E este node que deve receber o Script de Movimentagao. Tito Petri © 2022 - Todos os Direitos Reservados. 6 ‘[Link] Copyright © 2022 Tito Petri - Todos os Camera LookAt using UnityEngine; public class Exemplo08_CameraLookAt : MonoBehaviour { public GameObject jogador; void Start() { jogador = [Link]("Player"); void Update() [Link]([Link]); } } Copyright © 2022 Tito Petri - Todos os os Reservados. Camera Follow using UnityEngine; public class Exemplo09_CameraFollow : MonoBehaviour { GameObject jogador; private Vector3 posicaolnicial; void Start() { jogador = [Link]("Player’); posicaolnicial = [Link] - [Link]; void LateUpdate() { [Link] = [Link]. position + posicaolnicial; } } Copyright © 2022 Tito Petri - Todos os Girar Item using UnityEngine; public class Exemplo10_GiraMoeda : MonoBehaviour { public int atraso; void Start() [Link](0.0f, 15.0f * atraso, 0.0f, [Link]); } void Update() [Link](0.0f, 3.0f, 0.0f, [Link]); } } Copyright © 2022 Tito Petri - Todos os os Reservados. Meu Primeiro Game Completo using UnityEngine; using [Link]; public class Exemplo07_MovimentoPlayer : MonoBehaviour { public float velocidade = 5.0f; public float giro = 90.0f; public int quantidadeltens = 10; public GameObject moeda; public Text textoPontos; public Text textoFinal; private int pontos; private AudioSource somMoeda; private Vector? inicio; void Start() { somMoeda = GetComponent(); inicio = [Link]; /[Link] = "Moedas: " + [Link](); [Link] = "Moedas: " + quantidadeltens. ToString(); [Link](false); Copyright © 2022 Tito Petri - Todos os void Awake() { for (int i = 0; i < quantidadeltens; i++) { criarMoedaAleatoriamente(); } } void criarMoedaAleatoriamente() { float px = [Link](-10.0f, 10.0f); float pz = [Link](-10.0f, 10.0f); Vector3 posicao = new Vector3(px,0,pz); Instantiate(moeda, posicao, [Link]); } void Update() { if ([Link]([Link])) { [Link]([Link], giro * [Link]); } else if (Input-GetKey([Link])) { [Link]([Link], -giro * [Link]); } if ([Link]([Link])) { transform. Translate([Link] * velocidade * [Link]); Copyright © 2022 Tito Petri - Todos os } else if ([Link]([Link])) { [Link](-[Link] * velocidade * [Link]); } if ([Link]([Link])) { [Link] = inicio; } } void OnTriggerEnter(Collider outro) if ([Link]("Moeda")) { [Link](0); Destroy([Link]); marcaPonto(); } } void marcaPonto() { pontos++; /[Link] = "Moedas: " + [Link](); [Link] = "Itens: " + (quantidadeltens-pontos).ToString(); if (pontos == quantidadeltens) Copyright © 2022 Tito Petri - Todos os os Reservados. { [Link](true); [Link] = "Vocé Venceu!"; 1022 Tito Petri - Todos o: Multiplas Cameras using [Link]; using [Link]. Generic; using UnityEngine; public class GameEngine : MonoBehaviour { public GameObject/] cameras; private int indiceCamera = 0; 1 Use this for initialization void Start () { CameraFoco(indiceCamera); } 1] Update is called once per frame void Update () { if([Link](0)){ MudaCamera(1); } if([Link](1)){ MudaCamera(-1); } } void CameraFoco (int indice){ for(int i = 0; i < [Link]; i++){ cameras[i].SetActive(i == indice); 1022 Tito Petri - Todos o: } void MudaCamera(int incremento){ indiceCamera += incremento; iffindiceCamera >= [Link]){ indiceCamera = 0; } iffindiceCamera < 0){ indiceCamera = [Link]-1; } Debug, Log(indiceCamera); CameraFoco(indiceCamera); Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados, Criando uma Nova Cena Agora devemos criar um novo arquivo de cena do unity (extensao .scene) para montar o Menu Inicial do Jogo. ets C# Script es Res ao er LL Cer a) BCC t ld Crie uma nova cena, e clique 2x sobre ela para edita-la. Esta nova cena deve conter apenas 1 Camera com o Script adiante aplicado a ela. Lembre-se também de carregar os graficos que ira utilizar nesta etapa. Tito Petri © 7 \www/[Link] 1022 Tito Petri - Todos o: Interface Menu Inicial - GUI using [Link]; using UnityEngine; public class Exemplo12_InterfaceU! : MonoBehaviour { public Texture minhalmagem; public Texture btnTexture; void Start() } void Update() { } void OnGUI() if (Iminhalmagem) { [Link]("Carregue uma Imagem no Inspetor."); return; } [Link](new Rect(0, 0, [Link], [Link]), minhalmagem, [Link]); 1022 Tito Petri - Todos o: if ((btnTexture) [Link]("Carregue uma Imagem no Inspetor.”"); return; } if ([Link](new Rect([Link]/2-60, [Link]-60, 120, 40), "INICIAR")) { clicouBotao(); } [Link] = [Link]; if ([Link](new Rect([Link] - [Link]/2 - 20 , 20, [Link]/2, [Link]/2), btnTexture)) { clicouBotao(); } void clicouBotao() [Link]("Fase_01"); } } 1022 Tito Petri - Todos o: Array de Moedas - Linha using UnityEngine; public class ArrayMoedasFila : MonoBehaviour { public GameObject item; public int quantidad. public float distancia Of, private float offsetX = 0.0f; Void Start() offsetX = ((quantidade*distancia)/2.0f); print(offsetX); for (int i = 0; i < quantidade; i++) { [Link]().offset = i; Vector3 posicao = new Vector3((-offsetX+(distancia/2.0f), 0, 0) + [Link]; Instantiate(item, posicao, [Link]); } } } 1022 Tito Petri - Todos o: Array de Moedas - Random using UnityEngine; public class ArrayMoedasRandom : MonoBehaviour { public GameObject item; public int quantidade = 50; public float area = void Awake() for (int i = 0; i < quantidade; i++) criarMoedaAleatoriamente((); } } void criarMoedaAleatoriamente(int contador) { float px = [Link](-area/2.0f, area / 2.0f); float pz = [Link](-area / 2.0f, area / 2.0f); Vector3 posicao = new Vector3(px, 0, pz) + [Link]; Instantiate(item, posicao, Quaternion identity); [Link]().offset = contador; 1022 Tito Petri - Todos o: Array de Moedas - Ring using UnityEngine; public class ArrayMoedasRing : MonoBehaviour { public GameObject item; public int qtd; public float raio; void Awake() for (inti = 1; i <= qtd; i++) { float contador = [Link] * 2/ qtd * i; float px = [Link](contador) * raio; float pz = [Link](contador) * raio; Vector3 posicao = new Vector3(px, 0, pz) + [Link]; Instantiate(item, posicao, [Link]); item. [Link]().offset = i; 1022 Tito Petri - Todos o: Array de Moedas - Grade 2D using UnityEngine; public class ArrayMoedasGrid : MonoBehaviour { public GameObject item; public float distancia; public int quantidade; public int colunas; void Awake() float offsetx = colunas * distancia / 2 - distancia/2; float linhas = [Link](quantidade / (float)colunas); float offsetz = linhas * distancia / 2 - distancia / 2; for (int i = 0; i < quantidade; i++) { Vector3 posicao = new Vector3(i % colunas * distancia, 0, [Link](i J colunas) * distancia) + transform. position + new Vector3(-offsetx, 0 , -offsetz); [Link]().offset = i; Instantiate(item, posicao, [Link]); } } } 1022 Tito Petri - Todos o: Inimigo - Movimento Circular using UnityEngine; public class InimigoMovimentoCircular : MonoBehaviour { public float velocidade = 1.5f; public float raio = 3. Vector3 posicaolnicial; float tempo = 0; void Start() [Link](0, 0, 0, [Link]); posicaolnicial = [Link]; } void Update() { tempo += [Link] * velocidade; float px = [Link](tempo) * rai float pz = [Link](tempo) * raio; [Link] = new Vector3(px, 0, pz) + posicaolnicial; [Link](posicaolnicial); [Link](0, 90, 0, [Link]); 1022 Tito Petri - Todos o: Inimigo - Movimento Bounce using UnityEngine; public class MovimentacaolnimigoBounce : MonoBehaviour { public float V = 1.0f; public float D = 3.0f; float MX = 1.0f; bool GO = true; bool GIRA = false; void Start() } void Update() { if (GIRA) { transform. Translate([Link] * MX * V * [Link]); if ([Link].z >= D && GO) { JIGO = false; JIMX = -MX; GIRA = tru } if ([Link].z <= -D && !GO) /IGO = true; JINX = -MX; 1022 Tito Petri - Todos o: GIRA = true; } } else gira(); } } void gira() { [Link](0, 150.0f * [Link], 0, Space. Self); if ([Link].y >= 180.0f && GO) { GIRA = false; GO = false; JIMX = -MX; } if ([Link].y <= 180.0f && !GO) { GIRA = false; GO = true; JIMX = -MX; } } 1022 Tito Petri - Todos o: Inimigo - Movimento Follow using UnityEngine; public class MovimentacaolnimigoFollow : MonoBehaviour { GameObject jogador; GameObject vazio; bool aproximou; void Start() { jogador = GameObject Find("Felpudo"); vazio = new GameObject(); } void Update() float distancia = [Link]([Link], [Link]); if (distancia < 5.0f) { [Link](jogador transform); aproximou = true; print("Aproximou!"); } else { aproximou = false; if (aproximou) { transform. Translate(Vector3 forward * [Link] * 3.0f); 1022 Tito Petri - Todos o: } } } transform. LookAt([Link]); 1022 Tito Petri - Todos o: Colidir com Inimigo void OnTriggerEnter(Collider outro) if ([Link]. CompareTag("Inimigo")) tomouPancada(); } } void tomouPancada() { vidas—; if (vidas <= 0) { [Link] = "You Lose"; [Link]. SetActive(true); acabou = true; } piscaOn(); Efeito de Dano e Impulso 1022 Tito Petri - Todos o: void tomouPancada() { [Link](-[Link] * hit); piscaOn(); void piscaOn() { if (contaPisca < 6) { contaPisca += 1; [Link] = [Link]; Invoke("piscaOf’, 0.1f); } } void piscaOff() { [Link] = corOriginal; if (contaPisca == 5) { contaPisca = 0; } else { Invoke("piscaOn", 0.1f); } } } 1022 Tito Petri - Todos o: Pulo e Estados do Pulo if ([Link]([Link]) && noChao) { noChao = false; [Link]([Link] * 300.0f); [Link] = inicio; Invoke("zeraPulo", 1.0f); } void zeraPulo() noChao = true; } 1022 Tito Petri - Todos o: Pisca Material - Single new Renderer renderer; Color corOriginal; GameObject corpoFelpudo = [Link]("Corpo"); renderer = [Link](); corOriginal = [Link]; [Link] = [Link]; [Link] = corOriginal, 1022 Tito Petri - Todos o: Pisca Multiplos Materiais GameObject{] objetosCorpoFelpudo; objetosCorpoFelpudo = [Link]("Corpo"); foreach (GameObject meultem in objetosCorpoFelpudo) { } [Link](),[Link] = [Link]; 1022 Tito Petri - Todos o: AudioSource e AudioClip - Sons e Musica private AudioSource audioSource; public AudioClip somMoeda; public AudioClip somPorrada; public AudioClip somOvinho; audioSource = GetComponent(); [Link] = somOvinho; [Link](); 1022 Tito Petri - Todos o: Evento GameOver void tomouPancada() { vidas—; [Link] = somPancada; [Link](); if (vidas <= 0) { [Link] = "You Lose"; [Link] SetActive(true); acabou = true; [Link](-[Link] * hit); piscaOn(); 1022 Tito Petri - Todos o: Acao de Atirar public GameObject desentupidor; if ([Link]([Link])) { [Link] = somOvinho; [Link](); GameObject bullet = Instantiate(desentupidor, [Link] + new Vector3(0,0.5f,0), [Link]) as GameObject; bullet. GetComponent().AddForce([Link] * 1000); } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Script do Projétil e Particulas using UnityEngine; public class ScriptDesentupidor : MonoBehaviour public AudioClip somOvo; public GameObject particula; void OnTriggerEnter(Collider outro) if ([Link]. CompareTag("Inimigo")) { GameObject jogador = [Link]("Player"); [Link]().clip = somOvo; [Link]().Play(); Instantiate(particula, [Link], [Link]); Destroy([Link]); } } } 1022 Tito Petri - Todos o: Script MovePlayer - Game Felpudo Adventure Versao 1.0 Amostra do Script completo da movimentagao do personagem com os ultimos recursos implementados na versao 1.0. using UnityEngine; using [Link]; using [Link]; public class MeuScript : MonoBehaviour { public Text textoPontos; public Text textoFimDeJogo; public Text textoVidas; public Image lifeBar; public Sprite[] imagensLifeBar; private AudioSource audioSource; public AudioClip somMoeda; public AudioClip somPorrada; public AudioClip somOvinho; float velocidade = 6.5f; float giro = 300.0f; Vector3 inicio; int pontos = 0; int quantidadeDeMoedas = 0; int energia = 8; int vidas = 3; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. bool acabou bool venceu int contaPisca = 5; Color corOriginal; bool noChao = true; new Rigidbody rigidbody; new Renderer renderer; GameObject[] objetosCorpoF elpudo; public GameObject desentupidor; public GameObject particulaMoeda; public GameObject particulaOvo; void Start() audioSource = GetComponent(); rigidbody = GetComponentsRigidbody>(); GameObject corpoF elpudo = [Link]("Corpo"); renderer = [Link](); corOriginal = renderer. [Link]; objetosCorpoFelpudo = [Link]("Corpo"); inicio = [Link]; [Link]().sprite = imagensL ifeBarfenergia]; var objects = GameObject. FindGameObjectsWithTag("Moeda"); quantidadeDeMoedas = [Link]; [Link] =" + pontos + "/" + quantidadeDeMoedas; [Link] = "x" + vidas; [Link](false); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. void Update() if (lacabou) { if ([Link]([Link])) { [Link]([Link], giro * [Link]); } else if ([Link]([Link])) { } if ([Link]([Link])) transform Rotate([Link], -giro * [Link]); transform. Translate([Link] * velocidade * [Link]); } else if ([Link]([Link])) [Link](-[Link] * velocidade * [Link]); } if ([Link]([Link]) && noChao) { noChao = false; [Link]([Link] * 300.0f); [Link] = inicio; Invoke("zeraPulo”, 1.0f); } if ([Link]([Link])) { [Link] = somOvinho; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. [Link](); GameObject bullet = Instantiate(desentupidor, [Link] + new Vector3(0,0.5f,0), [Link]) as GameObject; bullet. GetComponent().AddForce([Link] * 1000); } } else print(*Clicou"); if ([Link](0)) if (venceu) [Link]("Fase01"); ed [Link]("Introducao"); ; } } } void zeraPulo() noChao = true; void OnTriggerEnter(Collider outro) { Copyright © 2022 Tito Petri - Todos os Direitos Reservados. if ([Link]. CompareTag("Moeda")) Instantiate(particulaMoeda , [Link], [Link] rotation); Destroy([Link]); marcaPonto(); } if ([Link]. CompareTag("Inimigo")) I!Destroy (outro. gameObject. transform. [Link]); tomouPorrada(); } if ([Link]. CompareTag("Ovo")) Instantiate(particulaOvo, [Link], [Link]); Destroy([Link]); ganhouLife(); } } void tomouPorrada() { energia-; [Link]().sprite = imagensLifeBarenergia]; [Link](transform forward * -700.0f); [Link] = somPorrada; [Link](); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. if (energia <= 0) { [Link] = "Vocé Perdeu"; [Link]. SetActive(true); acabou = true; venceu = false; } piscaOn(); void ganhouLife() { [Link] = somOvinho; [Link](); if ((energia >= 8)) { energia++; [Link]().sprite = imagensLifeBar[energia]; } } void piscaOn() { if (contaPisca > 0) { contaPisca--; [Link] = [Link]; foreach (GameObject meultem in objetosCorpoFelpudo) [Link]().[Link] = [Link]; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Invoke("piscaOft”, 0.1f); } } void piscaOfi() /[Link] = corOriginal; foreach (GameObject meultem in objetosCorpoFelpudo) { } if (contaPisca <= 0) [Link]().[Link] = corOriginal; contaPisca = 5; } else Invoke("piscaOn", 0.1f); } } void marcaPonto() { pontos++; [Link] = somMoeda; [Link](); [Link] =" + pontos + "/* + quantidadeDeMoedas; if (pontos == quantidadeDeMoedas) [Link] = "Vocé Venceu!"; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. [Link]. SetActive(true); acabou = true; venceu = true; } } private void OnMouseDown() print("Clicou"); if (acabou) { if (venceu) ‘[Link]("Fase01"); }else [Link]("Introducao"); } } } } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Porta Abre e Fecha - FBX com Animagao using UnityEngine; public class PortaAbreFechaFBX : MonoBehaviour { Animation anim; void Start() anim = GetComponent(); } void OnTriggerEnter(Collider outro) if ([Link]. CompareTag("Player")) [Link]("Abre", 0.25f); [Link]("Abre"); } } void OnTriggerExit(Collider outro) { if ([Link]. CompareTag("Player")) { [Link]("Fecha’, 0.25f); Hlanim Play("Fecha’); } 1022 Tito Petri - Todos o: Porta Abre e Fecha - Animator using UnityEngine; public class PortaAbreFechaAnimator : MonoBehaviour { Animator meuAnimator; GameObject porta; void Start() lporta = [Link]("Porta"); lImeuAnimator = [Link](); foreach (Transform meuObjeto in transform) if ([Link] { Porta") porta = [Link]; meuAnimator = porta. GetComponent(); } } } void OnTriggerEnter(Collider outro) { 1022 Tito Petri - Todos o: } if ([Link]. CompareTag("Player")) [Link]("Ativo", true); } } void OnTriggerExit(Collider outro) ‘ if ([Link]. CompareTag("Player")) ‘ [Link]("Ativo", false); ' } 1022 Tio Petri - Todos os Di Character Controller Basico using UnityEngine; public class CharacterControllerBasico : MonoBehaviour { CharacterController meuCharacterController; Vector3 pulo; void Start() { } meuCharacterController = GetComponent(); void Update() Vector3 frente = transform. TransformDirection(Vector3 forward) * Input. GetAxis("Vertical") * 5.0F; meuCharacterController Move(frente * [Link]); transform Rotate(new Vector3(0,[Link]("Horizontal’),0)*[Link]*300.0f); [Link]([Link]); if ([Link]("Jump")) { if ([Link]) { pulo.y = 10.0F; } } [Link](pulo * [Link]); pulo.y -= 7.0f * [Link]; Copyright © 2022 Tito Petri - Todos os 1s Reservados. Reldgio com Minutos e Segundos - Contagem Regressiva using UnityEngine; using [Link]; public class ScriptRelogio : MonoBehaviour { public int tempolnicial = 90 public Text textoTempo; GameObject jogador; MeuScript meuScript; bool acabou = false; void Start() { jogador = GameObject Find("Felpudo"); meuScript = jogador. GetComponent(); } void Update() if (lacabou)t print([Link]); int tempo = tempolnicial - (int)([Link]); int minutos = (int)(tempo / 60.0f); int segundos = (int)(tempo % 60.0f); 1022 Tito Petri - Todos o: if (segundos < 10) [Link] =" + minutos + ":0" + segundos; } else { } [Link] = " + minutos + ":" + segundos; if (segundos < 1 && minutos <= 0) { print("Fim de Jogo"); acabou = true; [Link](); Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Tito Petri © 2022 - Todos os Direitos Reservados. ‘[Link] Aprenda Programar - Linguagem C#t Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Tito Petri © 2022 - Todos os Direitos Reservados. 11! ‘[Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Flappy Bird 3D using UnityEngine; using [Link]; using [Link]; public class FlappyGameEngine : MonoBehaviour { bool comecou; bool acabou; int pontos = 0; public Text textoPontos; public Text textoGameOver; GameObject objetoDaVez; public GameObject cerca; public GameObject arbusto; public GameObject pedras; public GameObject canos; public GameObject nuvem; public GameObject ovo; GameObject jogador; Rigidbody meuRigidbody; void Start() { [Link] = new Vector3(0, -20.0f, 0); Direitos Reservados. [Link] 116 Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. IIjogador = [Link]("FELPUDO"); jogador = GameObject FindWithTag("JOGADOR’); meuRigidbody = [Link](); [Link] = ""; } void Update() { if ([Link](0) && !acabou) { if (Icomecou) { comecou = true; [Link] = true; meuRigidbody. velocity = new Vector3(0.0f, 5.0f, 0.0f); Invoke(“criaCerca”, 0.5f); Invoke("criaObjetos", 0.5f); [Link]("OBJETO_PISO").GetComponent().iniciarAni macaoPiso(); } else [Link]([Link]*500.0f); meuRigidbody. velocity = [Link]; [Link] = new Vector3(0.0f, 5.0f, 0.0f); } } } private void FixedUpdate() { [Link] rotation = [Link](0, 0, Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados, [Link].y * -3); void criaCerca() Instantiate(cerca); Invoke("criaCerca", 1.31) } void criaObjetos() 11GameObject objetoDaVez = new GameObject(); switch ([Link](9, 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, [Link], [Link]); Invoke("criaObjetos", [Link](0.75f, 2.0f)); } public void marcaPonto(int qtd) Iiprint("Pontos: " + pontos); [Link] = "+ pontos; Direitos Reservados. [Link] Aprenda Programar - Lingua Copyright © 2022 Tito Petri - Todos os Diraitos Resorvados. } public void fimDeJogo() { acabou = true; meuRigidbody. velocity = [Link]; meuRigidbody. velocity = new Vector3(-10.0F, 10.0f, 0.0f); Invoke("recarregarCena’, 2.01); [Link] = "Game Over"; } public void recarregarCena() { [Link]("MinhaCena"); } Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. using UnityEngine; public class ControleJogador : MonoBehaviour AudioSource meuAudioSource; public AudioClip somOvo; public AudioClip somVao; public AudioClip somHit; GameObject meuGameEngine; FlappyGameEngine meuFlappyGameEngine; IIbool comecou; I/Rigidbody meuRigidbody; void Start() lIPhysics. gravity = new Vector3(0, -20.0f, 0); limeuRigidbody = GetComponent(); meuGameEngine = [Link]("FlappyEngine"); meuFlappyGameEngine = [Link](); meuAudioSource = GetComponent(); } INoid Update() IK II if ([Link](0)) { Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Il if (comecou) ne Il comecou = true; I! [Link] = true; Wy I else { Il [Link]([Link]*500.0f); I! meuRigidbody. velocity = [Link]; I! meuRigidbody. velocity = new Vector3(0.0f, 10.0f, 0.0f); Wy Wy My Iiprivate void FixedUpdate() II [Link] = [Link](0, 0, [Link].y * -3); MN private void OnTriggerEnter(Collider outroObjeto) switch ([Link]) { case "ARBUSTO": fimDeJogo(); break; case "CANOS": fimDeJogo(); break; case "PEDRAS": fimDeJogo(); break; Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. case "OVO": print("Pegou Ovo!"); Destroy([Link]); [Link](1); [Link](somOvo); break; default: break; } /IDestroy([Link]); } private void OnTriggerExit(Collider outroObjeto) if ([Link] == "VAO") meuFlappyGameEngine,marcaPonto(5); [Link](somVao); } } void fimDeJogo() { Iiptint("Fim de Jogo!"); [Link](); [Link](somHit); } } Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. using UnityEngine; public class ControleObjeto : MonoBehaviour { float velocidade = 1.4f; public Vector3 posicaolnicial; Vector3 escalalnicial = new Vector3(0.01f,0.04f,0.01f); float escala; float dirEscala = 1.0f; Vector3 offSetPosicao; Vector3 offSetRotacao; void Awake() { offSetPosicao offSetRotaca: [Link]; [Link]; switch ([Link]) { switch ([Link]) { case "ARBUSTO": offSetPosicao.z += [Link](2.0f, -2.5f); offSetRotacao.y += [Link](-90f, 90.0f); break; case "PEDRAS": offSetPosicao.z += [Link](2.0f, -2.5f); offSetRotacao.y += [Link](-90f, 90.0f); break; case "NUVEM": offSetPosicao += new Vector3(0, [Link](1.0f, 3.5f), [Link](2.0f, -2.5f)); offSetRotacao.x += [Link](-90f, 90.0f); break; case "OVO": offSetPosicao.y += [Link](0.5f, 1.5f); break; } } Direitos Reservados. [Link] Aprenda Programar - Linguagem C# Copyright © 2022 Tito Petri - Todos os Direitos Reservados. void Start() this. [Link] = posicaolnicial; this. [Link] += offSetPosicao; this. [Link] += offSetRotacao; this. [Link] = escalalnicial; Invoke("apagaObjeto”, 6.0f); Invoke("someEscala”, 5.5f); } void Update() { [Link] -= new Vector3(1.0f * velocidade * [Link], 0, 0); escala += 5.0f * [Link] * dirEscala; float escalaNova = [Link]([Link](1.0f, escala),0.01f); [Link] = new Vector3(escalaNova, escalaNova, escalaNova); void apagaObjeto() Destroy(this. game Object); void someEscala() { escala = 1.0f; dirEscala = -1.0f; } Direitos Reservados. [Link] yright © 2022 Tito Petti - Todos os Direitos Reservados. Aprenda Programar - Lingua Copyright © 2022 Tito Petri - Todos os Diraitos Resorvados. using UnityEngine: public class ScrollingPiso : MonoBehaviour { float velocidade = 0.5f; public Material materialPiso; bool comecou; void Start() { } void Update() { if (comecou) { [Link]("_MainTex", new Vector2([Link] * -velocidade, 0)); } public void iniciarAnimacaoPiso() { comecou = true; } } 124 Copyright © 2022 Tito Petri - Todos os Unity 2D - Menu Inicial Botao e Transigao entre Telas using UnityEngine; using [Link]; public class ScriptMenulnicio : MonoBehaviour { public GameObject painelBlack; GameObject meuCanvas; void Start() { meuCanvas = [Link]("Meu Canvas"); } public void IniciarGame() { [Link]().aparece = true; Instantiate(painelBlack, [Link]); /|nstantiate(paine|Black); Invoke("MudaCena", 2.0f); } void MudaCena() { Copyright © 2022 Tito Petri - Todos os os Reservados. [Link]("Cena JoKenPo"); //[Link]([Link]().buildInd ex + 1); } using UnityEngine; public class ScriptPainelBlack : MonoBehaviour { Animator controleAnima; public AnimationClip animaAparece; public AnimationClip animaSome; public bool aparece; void Awake() { controleAnima = GetComponent(); } void Start() Invoke("ApagaObjeto", 2.25f); Copyright © 2022 Tito Petri - Todos os Direitos Reservados. print(aparece); if (aparece) { [Link]("Anima Painel Black Aparece"); /print("Tocou animacao Aparece"); } else { [Link]("Anima Painel Black Some"); /Iprint("Tocou animacao Some"); } } void ApagaObjeto() Destroy([Link]); } } Jogo do JokemPo - Transi¢ao entre Telas e Personagens Copyright © 2022 Tito Petri - Todos os Direitos Reservados. using UnityEngine; using [Link]; public class ScriptMenulnicio : MonoBehaviour { public GameObject painelBlack; GameObject meuCanvas; void Start() { meuCanvas = [Link]("Meu Canvas"); } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. public void IniciarGame() { [Link]().aparece = true; Instantiate(painelBlack, [Link]); /I\nstantiate(paine|Black); Invoke("MudaCena", 2.0f); } void MudaCena() { [Link]("Cena JoKenPo"); /[Link]([Link]().buildind ex + 1); } } using UnityEngine; public class ScriptPainelBlack : MonoBehaviour { Animator controleAnima; public AnimationClip animaAparece; public AnimationClip animaSome; public bool aparece; void Awake() { controleAnima = GetComponent(); } Copyright © 2022 Tito Petri - Todos os void Start() Invoke("ApagaObjeto", 2.25f); print(aparece); if (aparece) [Link]("Anima Painel Black Aparece"); /print("Tocou animacao Aparece"); else { [Link]("Anima Painel Black Some"); IIprint("Tocou animacao Some"); } } void ApagaObjeto() Destroy([Link]); } } using UnityEngine; using [Link]; public class ScriptCenaJokenpo : MonoBehaviour { SpriteRenderer imagemFundo; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. SpriteRenderer felpudo; SpriteRenderer uruca; public GameObject painelBlack; GameObject meuCanvas; void Start() { meuCanvas = [Link]("Meu Canvas"); imagemFundo = [Link]("IMAGEM FUNDO").GetComponent(); felpudo = [Link]("FELPUDO").GetComponent(); uruca = [Link]("URUCA").GetComponent(); } void Update() { 1 dimensées da imagem float larguralmagem = [Link].x; float alturalmagem = [Link].y; /| dimens6es da tela float alturaTela = [Link] * 2f; float larguraTela = alturaTela / [Link] * [Link]; /Iprint(larguralmagem); Copyright © 2022 Tito Petri - Todos os os Reservados. /Iprint(alturalmagem); print("L:" + larguraTela + "A:" + alturaTela); Vector2 novaEscala = [Link]; novaEscala.x = larguraTela / larguralmagem + 0.25f; novaEscala.y = alturaTela / alturalmagem; [Link] = novaEscala; [Link] = new Vector2(-larguralmagem / 4.0f, -alturaTela / 2.0f + alturaTela / 5.0f); [Link] = new Vector2(larguralmagem / 4.0f, -alturaTela / 2.0f + alturaTela / 3.8f); } public void ClicouVoltar() { [Link]().aparece = true; Instantiate(painelBlack, [Link]); /I\nstantiate(painelBlack); Invoke("MudaCena", 2.0f); } void MudaCena() { [Link]("Menu Inicio"); //[Link]([Link]().buildind ex + 1); } yright © 2022 Tito Petti - Todos os Direitos Reservados. Copyright © 2022 Tito Petri - Todos os os Reservados. Cena JoKenPo - Parte | using UnityEngine; using [Link]; using [Link]; public class ScriptMenulnicio : MonoBehaviour { public GameObject painelBlack; public GameObject botaoSom; bool somLigado = true; bool desligaSom = false; Sprite botaoSomOn; Sprite botaoSomOff; GameObject meuCanvas; AudioSource audioSource; void Start() { meuCanvas = [Link]("Meu Canvas"); audioSource = GetComponent(); botaoSomOn = [Link]("botaoSomOn"); botaoSomOff = [Link]("botaoSomOff"); } Copyright © 2022 Tito Petri - Todos os void Update() if (desligaSom) { [Link] -= 1.0f * [Link]; } } public void IniciarGame() [Link]().aparece = true; Instantiate(painelBlack, [Link]); /|nstantiate(painelBlack); Invoke("MudaCena", 2.0f); desligaSom = true; } void MudaCena() [Link]("Cena JoKenPo"); //[Link]([Link]().buildind ex + 1); } public void ClicaSom() { if (SomLigado) { [Link] = 0.0f; Copyright © 2022 Tito Petri - Todos os os Reservados. [Link]().sprite = botaoSomOff; } else { [Link] = 1.0f; [Link]().sprite = botaoSomOn; } somLigado = !somLigado; } using UnityEngine; public class ScriptPainelBlack : MonoBehaviour { Animator controleAnima; public AnimationClip animaAparece; public AnimationClip animaSome; public bool aparece; void Awake() { controleAnima = GetComponent(); } void Start() Invoke("ApagaObjeto", 2.25f); /Iprint(aparece); Copyright © 2022 Tito Petri - Todos os os Reservados. if (aparece) { [Link]("Anima Painel Black Aparece"); //print("Tocou animacao Aparece"); } else { [Link]("Anima Painel Black Some"); /print("Tocou animacao Some"); } } void ApagaObjeto() Destroy([Link]); } } using UnityEngine; using [Link]; public class ScriptCenaJokenpo : MonoBehaviour { SpriteRenderer imagemFundo; SpriteRenderer felpudo; SpriteRenderer uruca; public GameObject painelBlack; Copyright © 2022 Tito Petri - Todos os GameObject textoToqueParalniciar; GameObject meuCanvas; AudioSource audioSource; public AudioClip somJogada; public GameObject balaoPensamento; Sprite imagemHandsPensamento; /Ipublic Sprite iconePedra, iconePapel, iconeTesoura; public Sprite[] iconesPedraPapelTesoura; int opcao = 0; bool apertouJogar = false; GameObject spriteBalao; void Start() { audioSource = GetComponent(); meuCanvas = [Link]("Meu Canvas"); texto ToqueParalniciar = [Link]("TEXTO TOQUE PARA INICIAR"); imagemFundo = [Link]("IMAGEM FUNDO"),GetComponent(); felpudo = [Link]("FELPUDO").GetComponent(); uruca = [Link]("URUCA").GetComponent(); } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. void Update() // dimensées da imagem float larguralmagem = [Link].x; float alturalmagem = [Link].y; / dimens6es da tela float alturaTela = [Link] * 2f; float larguraTela = alturaTela / [Link] * [Link]; /print(larguralmagem); /iprint(alturalmagem); // print("L:" + larguraTela + + alturaTela); Vector2 novaEscala = [Link]; novaEscala.x = larguraTela / larguralmagem + 0.25f; novaEscala.y = alturaTela / alturalmagem; [Link] = novaEscala; [Link] = new Vector2(-larguralmagem / 4.0f, -alturaTela / 2.0f + alturaTela / 5.0f); [Link] = new Vector2(larguralmagem / 4.0f, -alturaTela / 2.0f + alturaTela / 3.8f); if ([Link](0) && [Link]) ClicouJogar(); Copyright © 2022 Tito Petri - Todos os } if ([Link]("right")) { opcao += 1; if (opcao > 2) { opcao = 0; } TrocaTexturalconeHand(); } if ([Link]("left")) { opcao -= 1; if (opcao < 0) { opcao = 2; } TrocaTexturalconeHand(); } if ([Link]("space")) { [Link](); ExecutarJogada(); } IIprint(opcao); Copyright © 2022 Tito Petri - Todos os os Reservados. public void ClicouVoltar() { paine|[Link]().aparece = true; Instantiate(painelBlack, [Link]); /I\nstantiate(paine|Black); Invoke("MudaCena", 2.0f); } void MudaCena() [Link]("Menu Inicio"); //[Link]([Link]().buildlnd ex + 1); } void ClicouJogar() { [Link](false); [Link](); Invoke("ExecutarJogada", 10.0f); Instantiate(balaoPensamento); [Link] = [Link] + new Vector3(1.0f, 1.0f, 0.0f); spriteBalao = [Link]("ICONE HANDS"); [Link]().sprite = iconesPedraPapelTesoura[0]; Copyright © 2022 Tito Petri - Todos os } void TrocaTexturalconeHand() [Link]().sprite = iconesPedraPapelTesoura[opcao]; } void ExecutarJogada() if (lapertouJogar) { apertouJogar = true; [Link](somJogada); } } } Copyright © 2022 Tito Petri - Todos os Direitos Reservados. Jo Ken Pé com Unity 2D - Projeto Final JO KEN PO using UnityEngine; using [Link]; using [Link]; public class Menulnicio : MonoBehaviour { public GameObject painelBlack; AudioSource audioSource; Copyright © 2022 Tito Petri - Todos os bool estadoSom = true; bool clicoulniciar = false; //Sprite botaaSomOn; //Sprite botaoSomOff; /Ipublic Sprite botaoSomOn, botaoSomOff; Sprite botaoSomOn, botaoSomOff; GameObject botaoSom; void Start() { audioSource = GetComponent(); audioSource. volume = 0.2f; botaoSom = [Link]("BOTAO MUSICA"); botaoSomOn = [Link]("botaoSomOn"); botaoSomOff = [Link]("botaoSomOff"); } void Update() if (clicoulniciar) { [Link] -= 0.25f * [Link]; } } public void ClicouBotaolniciar() { Copyright © 2022 Tito Petri - Todos os /print("Clicou Iniciar"); if (Iclicoutniciar) { [Link]().aparece = true; Instantiate(painelBlack, [Link]("MEU. CANVAS").transform); clicoulniciar = true; Invoke("CarregarProximaCena", 2.0f); } } void CarregarProximaCena() { [Link]("Cena Jogo Jokenpo"); //[Link]([Link]().buildind ex + 1); } public void ClicouBotaoMusica() { /print("Clicou Musica"); if (estadoSom) /lestadoSom = false; [Link] = 0.0f; [Link]().sprite = botaoSomOff; } else { Copyright © 2022 Tito Petri - Todos os Direitos Reservados. HestadoSom = true; [Link] = 0.2f; [Link]().sprite = botaoSomOn; estadoSom = !estadoSom; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. using UnityEngine; public class ScriptPainelBlack : MonoBehaviour { Animator meuAnimator; public bool aparece; void Start() { meuAnimator = GetComponent(); Invoke("DestroiObjeto", 2.5f); Copyright © 2022 Tito Petri - Todos os if (aparece) { } else { } [Link]("AnimaPainelAparece"); [Link]("AnimaPainelSome"); void DestroiObjeto() Destroy(gameObject); } } r POSICIONAR O BALAO DO PENSAMENTO ICONES DAS MAOZINHAS DOS JOGADORES POSICIONAR AS MAOZINHAS DOS JOGADORES PONTUAGAO PRESERVAR DADOS 4 using [Link]; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. using UnityEngine; using [Link]; public class CenaJoKemPo : MonoBehaviour { AudioSource meuAudioSource; int jogadaFelpudo = 0; int jogadaUruca = 0; public static int pontosFelpudo; public static int pontosUruca; bool comecou = false; bool jogou = false; bool podeReiniciar = false; public GameObject painelBlack; public GameObject imagemFundo; public GameObject balaoPensamento; public GameObject splashWinner; public AudioClip somJogada; public AudioClip somWin; public AudioClip somLose; public AudioClip somEmpate; public Color corWin; public Color corLose; public Color corEmpate; Copyright © 2022 Tito Petri - Todos os Direitos Reservados. GameObject iconeOpcaoBalao; GameObject felpudo; GameObject uruca; public GameObject iconeMaoFelpudo; public GameObject iconeMaoUruca; public Sprite[] texturaslconeMao; private void Start() { meuAudioSource = GetComponent(); jogadaUruca = [Link](0, 3); [Link]("PONTUACAO FELPUDO").GetComponent().text =" + pontosFelpudo; [Link]("PONTUACAO URUCA"),GetComponent().text = " + pontosUruca; float larguralmagem = [Link]().[Link].x; float alturalmagem = [Link]().[Link].y; / dimensoes em pixels /print([Link]); IIprint(Screen. height); Copyright © 2022 Tito Petri - Todos os os Reservados. /altura da tela float alturaTela = [Link] * 2.0f; //largura da tela float larguraTela = alturaTela / [Link] * [Link]; Vector2 novaEscala = [Link]; novaEscala.x = larguraTela / larguralmagem; novaEscala.y = alturaTela / alturalmagem; [Link] = novaEscala; felpudo = [Link]("FELPUDO"); uruca = [Link]("URUCA"); [Link] = new Vector2(-4, -alturaTela / 3.3f); [Link] = new Vector2(4, -alturaTela / 4); } private void Update() { if ([Link](0) && podeReiniciar) { RecarregarCenaJogo(); } if ([Link](0) && !comecou && !jogou) { [Link](true); Instantiate(balaoPensamento, [Link]); Copyright © 2022 Tito Petri - Todos os comecou = true; [Link]("TEXTO INSTRUCOES").GetComponent().text = "Setas (ESQ/DIR) Seleciona Jogada. ESPAGO Jogar."; [Link](); Invoke("ExecutarJogada”, 10.0f); } if ([Link]("right") && comecou && !jogou) { jogadaFelpudo++; if (jogadaFelpudo > 2) { jogadaFelpudo = 0; } [Link]("ICONE OPCAO JOGADA").GetComponent().sprite = texturaslconeMao[jogadaF elpudo]; } if ([Link]("left") && comecou && !jogou) { jogadaFelpudo--; if (ogadaFelpudo < 0) { jogadaFelpudo = 2; } [Link]("ICONE OPCAO JOGADA").GetComponent().sprite = texturaslconeMao[jogadaFelpudo]; Copyright © 2022 Tito Petri - Todos os } if ([Link]([Link]) && comecou && !jogou) { ExecutarJogada(); } } void ExecutarJogada() { if (Yogou) { [Link]("TEXTO INSTRUCOES").GetComponent().text jogou = true; [Link](); [Link](somJogada); [Link]("BALAO PENSAMENTO(Clone)").[Link](false); Invoke("AdicionaSplash", 4.0f); Invoke("AdicionaMaozinhas", 2.0f); } } public void CarregarMenulnicio() { [Link]().aparece = true; Instantiate(painelBlack, [Link]("MEU CANVAS").transform); Invoke("CarregarProximaCena", 2.0f);

También podría gustarte