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:
// Sistema de Afogamento//
Sistema de construção estilo habbo
Quando meu inimigo morre todos morrem, alguem ajuda ?
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Jogo da Memória para crianças. (Android)
Dicas para otimizar o meu jogo
(Dúvida) Mirar em terceira pessoa.
Eu produzi esse jogo na unity e gostaria que vocês testassem e avaliassem
I.A Que ataca qualquer coisa inclusive Players..
[DUVIDA] Script Não Funciona
[DUVIDA]Pergunta Aleatória
Teclado igual o jogo do milhão
Modelos 3d para uso gratuito ou comercial
[TUTORIAL] Unity 5- Sistema de PLATAFORMAS COM ROTAS
Inimigo seguir quando ver o player
[ERRO] Fatal Error Unity!!!
///Duvida///
Unity 5 lag com muitas arvores e grass
Como usar o Multi Touch para movimentar um personagem ?
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
Problema com "Non-convex MeshCollider"
[DÚVIDA]Texto Não Aparece Unity 5
[____REGRAS DO FÓRUM____]
PlayerPrefs
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
modelo 3d rotaçao estranha
Direitos autorais de modelos 3D?
ZombieAI
Iluminação ou Shader Bugado ?!
como criar uma barra de vida?
[Asset]Terreno .dae
Problema com GetComponent
[RESOLVIDO] Como ativar e desativar um objeto.
Como fazer objetos não atravessar paredes usando transform.Translate?
COMO PEGAR O SISTEMA DE HEADBOB E FOOTSTEP DO CHARACTER CONTROLER DEFAULT DA UNITY 5 E BOTAR EM UM CHARACTER CONTROLLER CUSTOMIZADO?
COMO ATIVAR ANIMACAO EMPURRAR OBJETO?
Asset Store
[____TÓPICO LIVRE____] FALE O QUE QUISER
(Dúvida) Erro criar sala com Photon.
(DUVIDA) Empurrar caixas estilo Resident Evil
Erro de falsa memoria
[Dúvida] Otimização
Mudar cor de um material por Script de forma suave
preciso usar o Lerp fora do Update
Existe algum tipo de FPSController para android?
[ AJUDA ]Probemas Com seleção de Carros.
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
Terminei meu game de terror...joguem...
[RESOLVIDO] COMO CRIAR UM ASSET ?
Script para saber se ena está ativa ou carregada
[RESOLVIDO] Como posto o link do game q fiz para o pessoal testar e avaliar?
Cena Loading para carregar proximo Level
Criação de tags para objetos
jogo estilo resident evil 4
[TUTORIAL] Pegar arma do chão ao Aperta E (Unity 5)
Duvida
Direitos autorais
Terrain Bugado
Inserir uma página da web dentro do meu jogo
AI Pedestres
Problema com texto ao fazer o build
Onde encontro aulas sobre shaders para a unity 5?
Audio Player C#
UNITY - MOVIE TEXTURE ON ANDROID
Recrutamento para jogo de sobrevivencia estilo DayZ/Rust/H1Z1
Destruir cubos em pedaços Com Um Progetil
(DUVIDA) troca textura em degradê
[RESOLVIDO] Movimento aleatório e suave de um objeto
Reproduzir vídeos do youtube
Return To Ruins Recrutando!
Script de mapa ramdomico?
DUVIDA - Compras de Assets
Versao Final Dark Dreams....agradeco a todos :)
meu jogo primeiro jogo de android
Testem meu Jogo de Aventura
Acertar apenas um componente Collider2D em objeto com mais de um Collider
Como fazer movimento 'serpenteado'
Fontes para Download
inimigo atacar
Mudar o volume do AudioSource conforme altera uma variavel
[DUVIDA] Controle do movimento do ricocheteio de object 2D
Como mirar para cima , baixo etc?
COMO SOBREPOR O PERSONAGEM(objeto1) DO FUNDO(objeto2)????
OTIMIZAÇÃO DE TERRENO...
[TUTORIAL] Mover, Girar e lançar objetos com o mouse ( estilo Amnesia )
[TUTORIAL] Barra de VIDA / HP contínua
DÚVIDA COM SCRIPT
Como desativo um boxCollider2d usando o GetComponent<variavelGameObject>?
C# Unity 3d Como alterar 1 script usando outro
Camera de cima estilo Minicraft
Conseguem mudar esses simples Js para C#?
Aprenda a fazer GDD em 5 minutos e proporcione mais qualidade em seu jogo
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
[Remake] Bully - Jocks's place com o unity 5 -- por MateusWTP
Mesma ação com 2 teclas diferentes.
Daz 3D - Dúvidas
Não consigo acessar uma animação que esta sendo realizada (JavaScript) alguem ajuda?
Hoje à(s) 2:46 pm
Hoje à(s) 12:02 pm
Hoje à(s) 11:26 am
Hoje à(s) 8:54 am
Hoje à(s) 8:54 am
Hoje à(s) 2:35 am
Hoje à(s) 12:10 am
Ontem à(s) 10:55 pm
Ontem à(s) 9:18 pm
Ontem à(s) 9:13 pm
Ontem à(s) 9:02 pm
Ontem à(s) 8:31 pm
Ontem à(s) 6:37 pm
Ontem à(s) 6:32 pm
Ontem à(s) 6:06 pm
Ontem à(s) 3:56 pm
Ontem à(s) 3:46 pm
Ontem à(s) 3:33 pm
Ontem à(s) 2:30 pm
Ontem à(s) 12:33 pm
Ontem à(s) 10:43 am
Ontem à(s) 1:24 am
Sab Fev 18, 2017 11:53 pm
Sab Fev 18, 2017 10:50 pm
Sab Fev 18, 2017 9:52 pm
Sab Fev 18, 2017 9:17 pm
Sab Fev 18, 2017 8:34 pm
Sab Fev 18, 2017 8:13 pm
Sab Fev 18, 2017 6:58 pm
Sab Fev 18, 2017 5:32 pm
Sab Fev 18, 2017 4:20 pm
Sex Fev 17, 2017 9:27 pm
Sex Fev 17, 2017 7:18 pm
Sex Fev 17, 2017 5:12 pm
Sex Fev 17, 2017 4:02 pm
Sex Fev 17, 2017 9:54 am
Sex Fev 17, 2017 4:00 am
Qui Fev 16, 2017 8:23 pm
Qui Fev 16, 2017 6:51 pm
Qui Fev 16, 2017 6:40 pm
Qui Fev 16, 2017 4:59 pm
Qui Fev 16, 2017 1:24 pm
Qui Fev 16, 2017 1:16 pm
Qui Fev 16, 2017 1:14 pm
Qui Fev 16, 2017 12:05 pm
Qui Fev 16, 2017 11:32 am
Qui Fev 16, 2017 10:44 am
Qui Fev 16, 2017 9:32 am
Qua Fev 15, 2017 11:31 pm
Qua Fev 15, 2017 11:24 pm
Qua Fev 15, 2017 10:10 pm
Qua Fev 15, 2017 8:52 pm
Qua Fev 15, 2017 8:12 pm
Qua Fev 15, 2017 4:19 pm
Qua Fev 15, 2017 3:08 pm
Qua Fev 15, 2017 2:52 pm
Qua Fev 15, 2017 2:43 pm
Qua Fev 15, 2017 1:40 pm
Qua Fev 15, 2017 1:20 pm
Qua Fev 15, 2017 12:10 pm
Qua Fev 15, 2017 11:24 am
Qua Fev 15, 2017 9:26 am
Qua Fev 15, 2017 8:26 am
Qua Fev 15, 2017 8:22 am
Qua Fev 15, 2017 8:19 am
Qua Fev 15, 2017 8:17 am
Ter Fev 14, 2017 11:37 pm
Ter Fev 14, 2017 10:51 pm
Ter Fev 14, 2017 10:06 pm
Ter Fev 14, 2017 3:57 pm
Ter Fev 14, 2017 2:20 pm
Ter Fev 14, 2017 12:24 pm
Ter Fev 14, 2017 11:02 am
Ter Fev 14, 2017 7:43 am
Seg Fev 13, 2017 8:25 pm
Seg Fev 13, 2017 5:01 pm
Seg Fev 13, 2017 4:38 pm
Seg Fev 13, 2017 11:09 am
Seg Fev 13, 2017 11:02 am
Seg Fev 13, 2017 7:12 am
Seg Fev 13, 2017 7:01 am
Seg Fev 13, 2017 2:01 am
Seg Fev 13, 2017 1:42 am
Seg Fev 13, 2017 1:33 am
Seg Fev 13, 2017 1:32 am
Seg Fev 13, 2017 1:31 am
Seg Fev 13, 2017 1:27 am
Seg Fev 13, 2017 1:18 am
Seg Fev 13, 2017 1:14 am
Dom Fev 12, 2017 9:36 pm
Dom Fev 12, 2017 4:44 pm
Dom Fev 12, 2017 3:36 pm
Dom Fev 12, 2017 12:42 pm
Dom Fev 12, 2017 1:16 am
Dom Fev 12, 2017 12:42 am
Sab Fev 11, 2017 10:17 pm
Sab Fev 11, 2017 4:04 pm
Sab Fev 11, 2017 3:25 pm
Sab Fev 11, 2017 1:29 pm
Zecandy
Luiz Mauro TCC
CanabravaBR
Fábiow775
Pulitano
marcos4503
artplayer
niao
vegasbr
baidu
Manawydan
rafaelllsd
joabr
Blue Ark
zBanidor
JhonnyBravo
Zecandy
AndyShow
BatataName
Guilherme56789
regisbaldo
Blue Ark
MarcosSchultz
R R
PauloHNCosta
joabr
joabr
tom ramber
lordstrik
Callyde Jr
PauloFR
cron
BananaSmith
John Rambo
AndyShow
LukiAli
AndyShow
Mic4el
rafaelllsd
Zecandy
LukiAli
DragonEarthGamesProggrame
AndyShow
erick.q.faria
Willian Wii
dstaroski
andreehjr2
Willian Wii
Rafael Kuriki
hackernew404
LuizFixa3D
Marc7
John Rambo
Marc7
Marc7
dstaroski
Mic4el
Zecandy
joabr
lucasfera15
marcos4503
tom ramber
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
matheus1415
rafaelllsd
Édipo
Marc7
John Rambo
felipefell
André Damazio
dstaroski
hackernew404
niao
Marc7
Marc7
Marc7
Callyde Jr
Callyde Jr
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
niao
niao
DragonEarthGamesProggrame
LukiAli
joabr
joabr
MateusWTP
kalel013
dstaroski
CanabravaBR

[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();

dimmuo
ProgramadorMaster

Masculino PONTOS : 928
REPUTAÇÃO : 72
Á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 weslleyFx em Qua Out 05, 2016 4:54 pm

bom tutorial

weslleyFx
Moderador

Masculino PONTOS : 2184
REPUTAÇÃO : 477
Idade : 18
Á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 =)

dimmuo
ProgramadorMaster

Masculino PONTOS : 928
REPUTAÇÃO : 72
Á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