SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Mudar de scene multiplayer?
Como eu faço um ontrigger "invertido"?
[TUTORIAL] SISTEMA DE CHUVA COM PARTICULAS.
Raycast em circulos(point to ckick)
COMO FAZ PARA FAZER 2 TERRAINS TOTALMENTE DIFERENTES DO OUTRO?
Unity não reconhece meu celular
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
MultiPlayer Unity Para Android!
Props Animations Asset
Mostrar Pontuação no game over
Meu script de ser morto atropelado não funciona
Terminei o meu jogo, mas algo deu errado.
[ASSET] Facilitação de controle de objetos
Problema em listar salas
Ranking com nome
Novo jogo - Stackx
Segurança no Unity
Sistema de Dialogs + Assets
Tem um modo facil para esperar tanto tempo e ocorrer uma açao?
[TUTORIAL] Entrar no carro estilo GTA
[RESOLVIDO] Tem como melhorar a colisao? os objetos entram nos outros, caem do chao ,etc..
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
DÚVIDA RECRIAR EFEITO NA UNITY
Me ofereço como escritor
Como adicionar uma força oposta a colisão no rigidbody?
Ajuda com script
[Dúvida]Erro error CS1525: Unexpected symbol 'u' em script
[Resolvido] É possível usar a unity com outros programas ? (config do pc na dúvida ;-; )
Dano no inimigo
[Dúvida]Erro "UnityEngine.AI.NavMeshAgent.Stop()' is obsolete" como resolver ?
[Dúvida]Erro "Building to the assets folder is not allowed" ao tentar fazer build
[Equipe]Preciso de ajuda de um programador
CAMERA ENTRANDO NA PAREDE
como posso fazer um corpo perder a animação
Teste De Multiplayer
Como adicionar uma força oposta a colisão no rigidbody?
Usar o unity sem internet
Cenário jogo Endless Running
Photon Unity como funcina?
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
UM FANTASMA APARECEU NO MEU JOGO.
Como mudar cor do botao UI
[TUTORIAL] FPSController nadar e mergulhar, junto com efeito submerso
Como sincronizar objetos do client para o host
Em breve EDU_animal-controle
Preciso de level designers com conhecimento avançado no Blender
[TUTORIAL] Como criar um HUD MULTIPLAYER personalizavel
[Duvida] Script pegar itens
Um processador de 2 nucleos versus um de 8 nucleos tem diferença na Unity?
SALVAR JOGO AUTOMATICAMENTE
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Como faço para deixar o objeto transparente ao passar atraz?
Shader Standart - Fade . Fica transparente / Bugado (Paredes Semi-Transparentes)
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Existe Alguma VOID que atualize menos que a update
Movimento dos seios e cabelo
[TUTORIAL] Barra de VIDA / HP contínua
[Modelo]Modelo Com osso[Modelo]
[TUTORIAL] Mensagem aparecer na tela conforme a distância do jogador (Unity 5)
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Não aparece os eixos na animação
Tutorial de Achar coisas no projeto por script e poder setalas nos scripts
Da para fazer anti-hack com o photon??
Como achar um item no projeto ?
Será que um dia,vai existir uma versão em PT-BR da unity?
Movimentação igual ao do battlerite
Existe um limite da quantidade de scripts que você poder fazer na unity?
aVork - Física realista para veículos
Script continua funcionando mesmo depois de desabilitado
procurar jogador por nome da string
[FPSController]Verificar a velocidade de um rigidbody
Erro com script de inventario.
BoxCollidernão acompanha Animação
Mudar o SetActive ao clicar em um GameObject.
[RESOLVIDO]Multiplayer Life?
Sistema de jogo interativo
Programador de inventario e craft.
RigidBody2D not found?
Passar de estado no meio da animação
como mudar as distancias dos lodGrup por script?
[BUG] Laucher da unity aparece algumas pastas!
Erro de script de lobby photon.
Como achar um item no projeto ?
Sistema de troca de equipamento
Tem como fazer imagens andando pela tela?
Impulso com Swipe
Sistema de telefone
audiosource minima distancia e maxima distancia nao funciona
[MODELO]--ARMA--[3D MODEL]
Metodos/comandos/referencia desaparecem.
Sistema de dia e noite bugando outras coisas quando fica anoite
Como faço fontes novas para letras na unity?
duvida WayPoints (ou qualquer outra coisa que me ajude)
face do objeto ficando invisivel na unity.
Instanciando GameObject filho
Como faço para dar break através de um loop de explosões, jogo estilo bomberman.
Varios Destinos SetDestination
Coleta de Madeiras
Script Simples
Hoje à(s) 6:32 pm
Hoje à(s) 5:50 pm
Hoje à(s) 4:49 pm
Hoje à(s) 3:24 pm
Hoje à(s) 1:30 pm
Hoje à(s) 12:41 pm
Hoje à(s) 11:29 am
Hoje à(s) 10:30 am
Hoje à(s) 7:29 am
Ontem à(s) 10:05 pm
Ontem à(s) 7:22 pm
Ontem à(s) 5:10 pm
Ontem à(s) 4:43 pm
Ontem à(s) 3:20 pm
Ontem à(s) 2:01 pm
Ontem à(s) 11:46 am
Ontem à(s) 8:33 am
Ontem à(s) 7:13 am
Ontem à(s) 12:40 am
Ontem à(s) 12:31 am
Qui Nov 16, 2017 11:18 pm
Qui Nov 16, 2017 11:12 pm
Qui Nov 16, 2017 10:48 pm
Qui Nov 16, 2017 10:47 pm
Qui Nov 16, 2017 10:46 pm
Qui Nov 16, 2017 10:20 pm
Qui Nov 16, 2017 10:15 pm
Qui Nov 16, 2017 10:09 pm
Qui Nov 16, 2017 9:52 pm
Qui Nov 16, 2017 8:13 pm
Qui Nov 16, 2017 8:10 pm
Qui Nov 16, 2017 8:07 pm
Qui Nov 16, 2017 7:56 pm
Qui Nov 16, 2017 5:39 pm
Qui Nov 16, 2017 5:21 pm
Qui Nov 16, 2017 3:33 pm
Qui Nov 16, 2017 2:56 pm
Qui Nov 16, 2017 1:37 pm
Qui Nov 16, 2017 1:20 pm
Qui Nov 16, 2017 11:26 am
Qui Nov 16, 2017 11:24 am
Qua Nov 15, 2017 9:32 pm
Qua Nov 15, 2017 9:00 pm
Qua Nov 15, 2017 7:05 pm
Qua Nov 15, 2017 6:05 pm
Qua Nov 15, 2017 2:09 pm
Qua Nov 15, 2017 10:35 am
Qua Nov 15, 2017 2:24 am
Ter Nov 14, 2017 9:54 pm
Ter Nov 14, 2017 9:53 pm
Ter Nov 14, 2017 6:41 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 2:25 pm
Ter Nov 14, 2017 1:45 pm
Ter Nov 14, 2017 12:00 pm
Seg Nov 13, 2017 3:12 pm
Seg Nov 13, 2017 8:27 am
Dom Nov 12, 2017 10:09 pm
Dom Nov 12, 2017 9:55 pm
Dom Nov 12, 2017 8:52 pm
Dom Nov 12, 2017 6:43 pm
Dom Nov 12, 2017 5:02 pm
Dom Nov 12, 2017 3:23 pm
Dom Nov 12, 2017 2:15 pm
Dom Nov 12, 2017 1:43 pm
Dom Nov 12, 2017 1:25 pm
Dom Nov 12, 2017 11:35 am
Dom Nov 12, 2017 12:13 am
Sab Nov 11, 2017 10:11 pm
Sab Nov 11, 2017 9:44 pm
Sab Nov 11, 2017 9:40 am
Sex Nov 10, 2017 7:52 pm
Sex Nov 10, 2017 7:08 pm
Sex Nov 10, 2017 6:59 pm
Sex Nov 10, 2017 6:58 pm
Sex Nov 10, 2017 6:09 pm
Sex Nov 10, 2017 6:00 pm
Sex Nov 10, 2017 5:22 pm
Sex Nov 10, 2017 2:58 pm
Sex Nov 10, 2017 2:31 pm
Sex Nov 10, 2017 12:29 pm
Sex Nov 10, 2017 12:00 pm
Qui Nov 09, 2017 11:47 pm
Qui Nov 09, 2017 11:28 pm
Qui Nov 09, 2017 8:46 pm
Qui Nov 09, 2017 8:26 pm
Qui Nov 09, 2017 8:08 pm
Qui Nov 09, 2017 5:59 pm
Qui Nov 09, 2017 5:29 pm
Qui Nov 09, 2017 1:58 pm
Qui Nov 09, 2017 12:39 pm
Qui Nov 09, 2017 12:29 pm
Qui Nov 09, 2017 11:16 am
Qui Nov 09, 2017 9:08 am
Qui Nov 09, 2017 8:03 am
Qui Nov 09, 2017 4:08 am
Qui Nov 09, 2017 12:17 am
Qua Nov 08, 2017 10:03 pm
Qua Nov 08, 2017 9:44 pm
Callyde Jr
Zecandy
rafaelllsd
Ronnisz
DUT
recagonlei
Phph09
Phph09
Phph09
jamaisfiih
Zecandy
Josivaldo Augusto
BRGC
MRX
recagonlei
recagonlei
sabbath
dimmuo
recagonlei
recagonlei
luiz12345
dstaroski
rafaelllsd
recagonlei
rafaelllsd
recagonlei
recagonlei
recagonlei
recagonlei
PauloFR
PauloFR
PauloFR
Diego Felix
ronito
ronito
Phph09
recagonlei
jamaisfiih
MRX
dstaroski
dstaroski
rafaelllsd
ronito
Phph09
Unidade3d5
AnderGames
Phph09
Giwn
DUT
Zecandy
Callyde Jr
natanael.olimpio
natanael.olimpio
Jonny
recagonlei
stratengine
Phph09
felipehobs1
Unoog
HPGBR
felipehobs1
rafaelllsd
PatifeCraft
rafaelllsd
Phph09
Phph09
Encracker
dimmuo
Encracker
Unidade3d5
BRGC
Callyde Jr
Phph09
raulframos
Callyde Jr
GameLACK
Fagner
niovery
BRGC
Dom3000
fabriciorsz34
PatifeCraft
Dom3000
Arqueiro Deckster
Phph09
Phph09
richardson
felipehobs1
joabr
Phph09
DUT
DUT
Zecandy
RW.
junkflash30
Emanuel
natanael.olimpio
Phph09
Phph09

[TUTORIAL]Singleton, A melhor forma de acessar a classe!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL]Singleton, A melhor forma de acessar a classe!

Mensagem por dimmuo em Qua Out 05, 2016 2:50 pm

Bom pessoal, Andei muito assistindo vídeos de gringos e estudando sobre c#, desde então comecei a usar Singletons para facilitar a vida.
Bom, o Singleton vai ser util para classes controladoras, como por exemplo um GameController, um AudioController, e por aí vai. Caso queira saber mais sobre singletons leia aqui: https://msdn.microsoft.com/en-us/library/ff650316.aspx

Vamos ao tutorial explicando passo a passo do que deve ser feito. (É DE EXTREMA IMPORTÂNCIA QUE VOCE LEIA OS COMENTÁRIOS DENTRO DO CÓDIGO PARA ENTENDER O QUE ESTÁ ACONTECENDO!)




PASSO 1 - Criando a Instancia.



Código:
using UnityEngine;
using System.Collections;

public class GameController : MonoBehaviour {

    // Vamos criar uma váriavel do TIPO "GameController" e usar o modificador "static".
    // Para saber mais sobre o modificador "static": https://msdn.microsoft.com/pt-br/library/98f28cdx.aspx
    private static GameControllerinstance;

    // Vamos chamar o método "Awake", que é chamado antes do método "Start"
    private void Awake()
    {
        // Iremos checar se a instancia é nula
        if (instance == null)
        {
            // Se for, então, a instancia será a instancia desta classe.
            // Para saber mais sobre "this": https://msdn.microsoft.com/pt-br/library/dk1507sz.aspx
            instance = this;
            // Vamos dizer para que não destrua esse OBJETO caso carreguemos outra cena
            DontDestroyOnLoad(this);
        }
        else
        {
            // Agora, iremos checar se a INSTANCIA que criamos lá em cima não é igual a INSTANCIA desta CLASSE
            // Pois, se tivermos 2 INSTANCIAS IGUAIS, iremos deletar esta instancia.
            if (instance != this)
            {
                Debug.Log("INSTANCE ALREADY IN SCENE! LET'S DESTROY OURSELVES!");
                Destroy(this.gameObject);
            }
        }
    }
        
}


PASSO 2 - (Opcional, porém recomendado) - Criando uma forma de "Carregar" o Prefab para dentro da cena caso seja chamado.


Bom, este passo aqui serve para que voce evite de esquecer de colocar o PREFAB dentro da cena. Ele vai  carregar o prefab caso você chame a instancia do GameControlle através de outro Classe, assim evitando erros.
Primeiramente, voce deve criar um GameObject em branco, colocar o script nele com o MESMO nome do script, depois, voce vai criar uma pasta chama Resources dentro da pasta Assets, e salvar o PREFAB que você criou do GameController lá dentro.



PASSO 2.1 - Melhorando o Script




Código:
using UnityEngine;
using System.Collections;

public class UIController : MonoBehaviour {

    // Vamos criar uma váriavel do TIPO "UIController" e usar o modificador "static".
    // Para saber mais sobre o modificador "static": https://msdn.microsoft.com/pt-br/library/98f28cdx.aspx
    private static UIController instance;

    // Vamos criar um método Getter para ter acesso atraves de outras classes
    // Para saber mais sobre Getters e Setters: https://msdn.microsoft.com/pt-br/library/w86s7x04.aspx
    public static UIController Instance
    {
        get
        {
            // Vamos checar se a instancia esta nula, ou seja, sem nenhum valor atribuido a ela
            if (instance == null)
            {
                // Vamos tentar procurar  o objeto na cena, caso ache, a instancia vai receber o objeto, porem do tipo UIController
                instance = GameObject.FindObjectOfType<UIController>();

                // Caso eu não ache o GameObject na cena, entao vou ter que carregar este GameObject dos Assets...
                if (instance == null)
                {
                    // Vamos Criar um GameObject temporario para armazenar o Object instanciado
                    // Lembrando que, vou precisar fazer o cast do Object para GameObject
                    GameObject obj = (GameObject)Instantiate(Resources.Load("UIController"));
                    obj.name = "UIController";
                    // Agora, precisamos colocar dentro da instance a componente UIController.
                    // Pois não precisamos na realidade do GameObject, mas sim da componente UIController
                    instance = obj.GetComponent<UIController>();
                }
                // Agora vamos fazer com que o GameObject permaneça caso carregue outras cenas.
                DontDestroyOnLoad(instance.gameObject);
            }
            return instance;
        }
    }

    // Vamos chamar o método "Awake", que é chamado antes do método "Start"
    private void Awake()
    {
        // Iremos checar se a instancia é nula
        if (instance == null)
        {
            // Se for, então, a instancia será a instancia desta classe.
            // Para saber mais sobre "this": https://msdn.microsoft.com/pt-br/library/dk1507sz.aspx
            instance = this;
            // Vamos dizer para que não destrua esse OBJETO caso carreguemos outra cena
            DontDestroyOnLoad(this);
        }
        else
        {
            // Agora, iremos checar se a INSTANCIA que criamos lá em cima não é igual a INSTANCIA desta CLASSE
            // Pois, se tivermos 2 INSTANCIAS IGUAIS, iremos deletar esta instancia.
            if (instance != this)
            {
                Debug.Log("INSTANCE ALREADY IN SCENE! LET'S DESTROY OURSELVES!");
                Destroy(this.gameObject);
            }
        }
    }

    // Método para Exemplificar o uso da Instancia
    public void ResetGame()
    {
    }
        
}

PASSO 3 - Acessando o GameController em outra Classe.




Código:
// Este passo é o mais simples, toda vez que desejar chamar um método, ou uma variavel de dentro do GameController
// Use a seguinte linha: (Lembrando, desde que quem voce for acessar seja publico)

GameController.Instance.ResetGame();
avatar
dimmuo
ProgramadorMaster

Masculino PONTOS : 1278
REPUTAÇÃO : 98
Áreas de atuação : C# / Java / Sketchup / Unity / Blender
Respeito as regras :

Ver perfil do usuário http://augustobrit.github.io

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Singleton, A melhor forma de acessar a classe!

Mensagem por Weslley em Qua Out 05, 2016 4:54 pm

bom tutorial
avatar
Weslley
Moderador

Masculino PONTOS : 2825
REPUTAÇÃO : 600
Idade : 19
Áreas de atuação : C#
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL]Singleton, A melhor forma de acessar a classe!

Mensagem por dimmuo em Ter Nov 29, 2016 10:46 am

valeu =)
avatar
dimmuo
ProgramadorMaster

Masculino PONTOS : 1278
REPUTAÇÃO : 98
Áreas de atuação : C# / Java / Sketchup / Unity / Blender
Respeito as regras :

Ver perfil do usuário http://augustobrit.github.io

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum