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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
RigidBody Agarrando no BoxCollider [Mobile 3D]
Usar o mouse?
click mouse
Como alterar informações de objeto UI
SEM CURSOR EM JOGO.
Conexão entre app Android e internet.
CURSOR DO MOUSE NÃO DESAPARECE AO CLICAR EM "JOGAR" NO MENU PRINCIPAL.
Script não funcionando
The freddy krueger's pie (Game)
Destruir um objeto ao colidir com o componente dele.
RigidBodyFPSController não carrega o script, é do pacote standard assets
Preciso saber matemática para programar?
[RESOLVIDO] Prefab com altura diferente na Scene
Problema com os FPS do jogo
pq da erro ao tentar mover arquivo para unity
[RESOLVIDO] Como saber se um Transform está se movendo?
Problema com animaç]ao de fechar porta ao clicar com mouse raycast
Fala Pessoal! saiu um trailer da sequência do meu jogo Project Lazarus parte 2
Exportação do SketchUp para Unity
Como fazer com que os valores do bool sejam iguais ao da lista?
Como resolver problema com lag por conta de sprites Instanciados? Mesmo destruindo em 2f
[RESOLVIDO] Trocar valor de variável apos X segundos que ativar o triggercollider
Como abrir portas/gavetas com click do mouse, usando raycast!
PEGADAS DO PLAYER QUE APARECEM APÓS ANDAR SOBRE UMA ÁREA "ÚMIDA". UNITY 2D
[RESOLVIDO] Erro com Facebook SDK
Como deixar touch apenas 50% da tela (código que estou usando)
terreno plano pesa muito em mobile?
Dúvida sobre o script de Mover Objetos
Duvida sobre um sistema de Lap Timer junto com o box collider!
Como passar cena sem perder o que conseguiu em outra?
[RESOLVIDO] OverlapBox detectar colisão
APK trava com Admob
[Lançado] TapNav: Vaporwave Edition já está disponível!
[RESOLVIDO] Tentando implementar sons no Character Controller
como posso criar um filtro de cor igual post processing?
[RESOLVIDO] Problema com movimentação do Joystick
Inimigo aparecer depois de certa ação
Como redirecionar o usuário pelo app do Facebook?
[TUTORIAL] Codificar e Decodificar Numeros
Como fazer esse mesmo código usando ScriptableObject?
[RESOLVIDO] Pontuação na Unity 3D!
[RESOLVIDO] Unity 2018.2.17 Problemas com o Package Manager
BARRA DE ENERGIA NÃO RESETA QUANDO O PLAYER RENASCE.
[RESOLVIDO] Erro no pacote do Unity Ads
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
Fazer o personagem apontar na direção do movimento
[TUTORIAL] Sistema de fome, sede, barra de vida, barra de estamina, itens e dano por queda
QUE ? Porque não funcionou ? :(
Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
[RESOLVIDO] Meus personagens não iniciam animação no jogo compilado, o que pode ser ?
Como deixar touch apenas 50% da tela
Sistema de tiro teleguiado
[TUTORIAL] Script para jogo FPS Mobile
[RESOLVIDO] Como faço para o personagem entrar e sair do carro?
[RESOLVIDO] Como salvar itens da fase?
Oque é API?
Salvar dados unity
NavMesh em uma esfera
[TUTORIAL] Dicas Para Otimização de Código
[POR QUE O OBJETO FICA DEFORMADO QUANDO ROTACIONA?]
Jogo Maria Bella
[DUVIDA]sobre Time.deltaTime
SIGLETON
Shader Causa Tela Preta
Objeto continuar em movimento após tira o dedo da direção
"Problema" com o script de mover objetos versão free do Marcos Schultz
como fazer joystick's Mobile para shooter topDown ?
Unity 2018.2 Erro de janela no Editor
Duvida sobre um script de contagem 1, 2, 3, GO!.
Onde Encontro Música De Background Para o Meu Projeto?
problema na AI quando passa pro unity 2020
[RESOLVIDO] Problema em configurar o pneu de 1 carro no MSVehicle System Free
[RESOLVIDO] Dicas sobre criação de ruas??
[RESOLVIDO] Utilizar o Range
Sistema de Yu-Gi-Oh! - ATT [2020]
Meu jogo Mobile já disponivel na PlayStore ou GameJolt!!
Jogo Santuário Hebreu
[RESOLVIDO] Ancora em UIs
[RESOLVIDO] Uma dúvida sobre Quaternion.Inverse
freelancer para modelador
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
[RESOLVIDO] Rotacionar Prefab dentro da Scene
Salvamento de jogo utilizando o Google services
Como faço para animar meu personagem?
Desligando a colisão entre layers
Carro Pegar armas em
Rodas do carro nao ficao presas ao carro
Ajuda para jogo da memória! Aleatorizar Cartas
Ajuda compilar para android
como fazer um player se movimentar utilizando força centrípeta
Unity ou Unreal Engine ? Alguém que ja usou UE para opinar?
girar o personagem de acordo com o analógico
[TUTORIAL] Sistema de login com json
[TUTORIAL] Criando um simples Multiplayer [UNITY 5]
Girar a tela apenas horizontalmente
photon da erro quando instancia um prefab
Paint do Blender não funciona
Como fazer mais de uma animação no blender?
Como exportar projeto pesado do Sketchup para a Unity ?
Hoje à(s) 6:45 pm
Hoje à(s) 6:20 pm
Hoje à(s) 6:18 pm
Hoje à(s) 9:48 am
Hoje à(s) 8:14 am
Hoje à(s) 8:09 am
Ontem à(s) 2:36 pm
Ontem à(s) 10:07 am
Qua Set 16, 2020 11:50 pm
Qua Set 16, 2020 11:22 pm
Qua Set 16, 2020 5:31 pm
Qua Set 16, 2020 12:10 pm
Qua Set 16, 2020 12:02 am
Ter Set 15, 2020 11:33 pm
Ter Set 15, 2020 11:32 pm
Ter Set 15, 2020 5:28 pm
Ter Set 15, 2020 11:52 am
Ter Set 15, 2020 6:13 am
Seg Set 14, 2020 3:51 pm
Seg Set 14, 2020 3:41 pm
Seg Set 14, 2020 2:46 pm
Seg Set 14, 2020 11:06 am
Seg Set 14, 2020 10:35 am
Seg Set 14, 2020 10:12 am
Seg Set 14, 2020 9:14 am
Seg Set 14, 2020 3:21 am
Seg Set 14, 2020 3:11 am
Dom Set 13, 2020 1:07 am
Sab Set 12, 2020 8:01 pm
Sab Set 12, 2020 6:34 pm
Sab Set 12, 2020 6:32 pm
Sab Set 12, 2020 2:28 pm
Sab Set 12, 2020 2:15 pm
Sab Set 12, 2020 1:20 pm
Sab Set 12, 2020 12:28 pm
Sab Set 12, 2020 1:37 am
Sex Set 11, 2020 7:08 pm
Sex Set 11, 2020 4:30 pm
Sex Set 11, 2020 4:26 pm
Sex Set 11, 2020 1:59 pm
Sex Set 11, 2020 1:40 pm
Qui Set 10, 2020 8:39 pm
Qui Set 10, 2020 6:26 pm
Qui Set 10, 2020 1:01 pm
Qui Set 10, 2020 2:24 am
Qui Set 10, 2020 2:19 am
Qui Set 10, 2020 2:17 am
Qui Set 10, 2020 2:08 am
Qui Set 10, 2020 1:51 am
Qua Set 09, 2020 10:03 pm
Qua Set 09, 2020 5:43 pm
Qua Set 09, 2020 6:21 am
Ter Set 08, 2020 10:47 pm
Ter Set 08, 2020 8:47 pm
Ter Set 08, 2020 12:59 pm
Ter Set 08, 2020 9:55 am
Seg Set 07, 2020 10:41 pm
Seg Set 07, 2020 9:32 pm
Seg Set 07, 2020 9:11 pm
Seg Set 07, 2020 8:07 pm
Seg Set 07, 2020 7:18 pm
Seg Set 07, 2020 3:06 am
Seg Set 07, 2020 2:52 am
Dom Set 06, 2020 9:29 pm
Dom Set 06, 2020 8:37 pm
Dom Set 06, 2020 7:37 pm
Dom Set 06, 2020 6:13 pm
Dom Set 06, 2020 6:12 pm
Dom Set 06, 2020 6:11 pm
Dom Set 06, 2020 5:33 pm
Dom Set 06, 2020 5:30 pm
Dom Set 06, 2020 4:46 pm
Dom Set 06, 2020 11:42 am
Sab Set 05, 2020 9:45 pm
Sab Set 05, 2020 8:29 am
Sex Set 04, 2020 7:53 pm
Sex Set 04, 2020 1:57 pm
Sex Set 04, 2020 11:06 am
Qui Set 03, 2020 9:11 pm
Qui Set 03, 2020 6:55 pm
Qua Set 02, 2020 10:57 pm
Qua Set 02, 2020 5:33 pm
Qua Set 02, 2020 3:49 pm
Qua Set 02, 2020 10:01 am
Qua Set 02, 2020 9:56 am
Ter Set 01, 2020 9:05 pm
Ter Set 01, 2020 4:54 pm
Ter Set 01, 2020 2:44 pm
Ter Set 01, 2020 2:24 pm
Seg Ago 31, 2020 10:43 pm
Seg Ago 31, 2020 8:15 pm
Seg Ago 31, 2020 6:58 pm
Seg Ago 31, 2020 2:44 pm
Seg Ago 31, 2020 2:37 pm
Seg Ago 31, 2020 10:37 am
Seg Ago 31, 2020 2:39 am
Seg Ago 31, 2020 12:58 am
Dom Ago 30, 2020 11:02 pm
Sab Ago 29, 2020 10:20 pm
BlesseD
AndryelBlanco
giowde
AndryelBlanco
NKKF
NKKF
FelipeSouza11
Magnatah
Callyde Jr
bruno700mb
darkrj
Magnatah
Ricardito
Magnatah
Magnatah
fantastic137
SamonBR
Callyde Jr
Fagner
Th2y
Wily
Shidote
SamonBR
ViniciusTKH
TioUV
MarcosSchultz
MarcosSchultz
MarcosSchultz
mateusschw
MayLeone
KurotamaXIII
Ploleo
RodriGO3477
PacienteZERO
Fagner
BlesseD
zhentox
MarcosSchultz
MarcosSchultz
Fagner
SauloeArthur
ProBrStalker
Callyde Jr
tautologias357
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Callyde Jr
bruno700mb
Callyde Jr
JulioWinchester
FlavinGiroflex
merike11
TioUV
Weslley
GattiMene
Magnatah
MarcosSchultz
TIKO
MarcosSchultz
MarcosSchultz
Fagner
Magnatah
Rangel Oblivion
MarcosSchultz
ProBrStalker
mateusschw
MarcosSchultz
MarcosSchultz
mateusschw
FlavinGiroflex
Th2y
darknecron
MarceloYBP
TIKO
poyser
pdsimulador
designshake
SamonBR
Ricardito
Fagner
Moskeiro
Moskeiro
CharlesWarrior02
samuelreidosjogos17091997
AndryelBlanco
NKKF
samuelreidosjogos17091997
Fagner
Wrench18
Lplucas
Hohenheim
brizaloka
JulioWinchester
lesgoy
Fagner
zuziv

objeto com referencia vazia

Ir em baixo

DÚVIDA objeto com referencia vazia

Mensagem por AnaSenpai em Seg Jun 15, 2020 1:48 pm

Boa tarde, gostaria de ajuda para descobrir e resolver um problema com objeto que ta retornando vazio. Estou adaptando um projeto antigo para mobile, e nessa versão ta dando esse problema que nao tinha antes:

Link do print

Codigo da missao da chave
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// Adiciona automaticamente o closed dooor script
[RequireComponent(typeof(ClosedDoor))]
public class KeyMisson : InteractObject {

    // Armazena uma refernecia ao close door
    private ClosedDoor door;

    // Armazrna o id desta missão de chaves
    [Tooltip("O id deste missão de pegar uma chave, 1 diferente para cada em todo jogo")]
    public int id = 0;

    public Itens itensUI;

    private bool AlreadyGetMission
    {
        get
        {
            int result = PlayerPrefs.GetInt("keyMission-" + id, 0);

            if (result == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        set
        {
            int data = 0;

            if (value == true)
            {
                data = 1;
            }

            PlayerPrefs.SetInt("keyMission-" + id, data);
        }
    }

    // Use this for initialization
    void Start ()
    {
        itensUI = gameObject.GetComponent<Itens>();
        // Pega a referencia ao close door
        door = GetComponent<ClosedDoor>();

        if (AlreadyGetMission == false)
        {
            // Desativa o script da porta
            door.enabled = false;
        }
        else
        {
            // Remove o script da missão
            Destroy(this);
        }
    }
    
    // Update is called once per frame
    void Update () {
        
    }

    public override void Action(Player player)
    {
        if (AlreadyGetMission == false)
        {
            // Inicia missão
            SearchKeyObject.StartMission(id);

            // Define missão
            menssagesController.SetMissionMessage("Find the key");

            // Exibe a quantidade de chaves
            itensUI.GetComponent<Itens>().ChangeActive(Collectible.Key, true);

            // Ativa a porta
            door.enabled = true;

            // Desativa missão
            AlreadyGetMission = true;

            // Desativa este script
            this.enabled = false;
        }
    }
}
[/size]


codigo dos itens
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public enum Collectible
{
    Lamp,
    Key,
    Tool
}

public class Itens : MonoBehaviour
{
    public GameObject objectLamps, objectKeys, objectTools;

    // Propriedade para controlar exibião das chaves
    public static bool EnabledKeys
    {
        get
        {
            int result = PlayerPrefs.GetInt("itens-enabled-keys", 0);

            if (result == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        set
        {
            int data = 0;

            if (value == true)
            {
                data = 1;
            }

            PlayerPrefs.SetInt("itens-enabled-keys", data);
        }
    }

    public static bool EnabledTools
    {
        get
        {
            int result = PlayerPrefs.GetInt("itens-enabled-tools", 0);

            if (result == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        set
        {
            int data = 0;

            if (value == true)
            {
                data = 1;
            }

            PlayerPrefs.SetInt("itens-enabled-tools", data);
        }
    }

    void Start()
    {       
        UpdateText(Collectible.Lamp);
        UpdateText(Collectible.Key);
        UpdateText(Collectible.Tool);

        // Ativa ou desativa as chaves
        ChangeActive(Collectible.Key, Itens.EnabledKeys);

        ChangeActive(Collectible.Tool, Itens.EnabledTools);
    }

    public void ChangeActive(Collectible collectible, bool active)
    {   
        switch (collectible)
        {
            case Collectible.Key:
                Itens.EnabledKeys = active;
                objectKeys.SetActive(active);
                break;
            case Collectible.Tool:
                Itens.EnabledTools = active;
                objectTools.SetActive(active);
                break;
        }
    }

    public void UpdateText(Collectible collectible)
    {
        // Reserva espaço na memoria
        Text toUpdate;
        
        switch (collectible)
        {
            case Collectible.Lamp:
                // Pega o UI Text do "filho" do gameobject
                toUpdate = objectLamps.GetComponentInChildren<Text>();

                // Atualiza o texto
                toUpdate.text = Player.Lamps.ToString();

                // Sai do switch
                break;
            case Collectible.Key:
                toUpdate = objectKeys.GetComponentInChildren<Text>();

                toUpdate.text = Player.Keys.ToString();

                break;
            case Collectible.Tool:
                toUpdate = objectTools.GetComponentInChildren<Text>();

                toUpdate.text = Player.Tools.ToString();

                break;
        }
    }
}
[/size]


codigo do player
Código:
[size=14]using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

// Adiciona automaticamente Rigidbody2D
[RequireComponent(typeof(Rigidbody2D))]

// Adiciona automaticamente Animator
[RequireComponent(typeof(Animator))]
public class Player : MonoBehaviour {

    // Declara uma variavel - espaço na mémoria RAM para armazenar um tipo - do tipo Rigidbody2D.
    private Rigidbody2D rigbody;

    // Variavel do controllador de animação
    private Animator animator;

    private new Collider2D collider;

    // Contém o valor de todas as lampadas pegas no jogo inteiro (em todas as cenas)
    public static int Lamps
    {
        get
        {
            var lamps = PlayerPrefs.GetInt("playerLamps", -1);

            // Verifica se não há nenhum valor amazenado em "playerLamps"
            if (lamps == -1)
            {
                // Definir valor inicial
                lamps = 0;

                Player.Lamps = lamps;
            }

            return lamps;
        }
        private set
        {
            PlayerPrefs.SetInt("playerLamps", value);
        }
    }

    // Contém o valor de todas das chaves pegas no jogo inteiro (em todas as cenas)
    public static int Keys
    {
        get
        {
            var keys = PlayerPrefs.GetInt("playerKeys", -1);

            // Verifica se não há nenhum valor amazenado em "playerKeys"
            if (keys == -1)
            {
                // Definir valor inicial
                keys = 0;

                Player.Keys = keys;
            }

            return keys;
        }
        private set
        {
            PlayerPrefs.SetInt("playerKeys", value);
        }
    }

    public static int Tools
    {
        get
        {
            var tools = PlayerPrefs.GetInt("playerTools", -1);

            if (tools == -1)
            {
                // Definir valor inicial
                tools = 0;

                Player.Tools = tools;
            }

            return tools;
        }
        private set
        {
            PlayerPrefs.SetInt("playerTools", value);
        }
    }

    // Variavel do tipo SpriteReender chamada de sprite.
    private SpriteRenderer sprite;

    // Declara uma variavel para controlar a velocidade de movimentação
    public float speed = 2;

    // Variavel para armazenar possiveis objetos diponiveis para interagir
    public InteractObject interactObject;

    public Itens itemsUI;

    // variaavel que controla se o player está escondido ou não
    public bool escondido;

    public bool movingLeft = false;
    public bool movingRight = false;
    public Vector3 moveDirectionLeft = Vector3.left;
    public Vector3 moveDirectionRight = Vector3.right;
    
    // Método chamado na inicialização.
    void Start() {
        // Armazena uma referência ao componente Rigidbody2D deste GameObject
        rigbody = GetComponent<Rigidbody2D>();

        animator = GetComponent<Animator>();

        // Pega o componente SpriteReender que esta no player.
        sprite = GetComponent<SpriteRenderer>();

        movingLeft = false;
        movingRight = false;

        collider = GetComponent<Collider2D>();

        // Verifica se este GameObject contém um Collider.
        if (collider == null)
        {
            // Adiciona uma exceção ao Debug
            Debug.LogException(
                new System.Exception("Adicione um Collider ao GameObjeto " +
                "com o script \"Player\"."));
        }

        // Chama o método para carregar a posição do jogador.
        LoadPosition();
    }
    
    // Método Update é chamado 1 vez por frame
    void Update() {
        if (Pause.getPausado() == false) {
            if (escondido == false) {
                // Chama o método "Movement" a cada atualização
                //Movement();
                ButtonMovement();
            }

            //DoAction();
        }
    }

    void ButtonMovement()
    {
        if (movingLeft == true) {                      // LEFT BUTTON //
            animator.SetBool ("walk", true);// walk left
            transform.position += Vector3.left * 3.0f * Time.deltaTime;
            sprite.flipX = false;
        }  
        else if (movingLeft == false) {
            //speed = 0;
            animator.SetBool ("walk", false); // goes back to idle
        }


        if (movingRight == true) {                         // RIGHT BUTTON //
            animator.SetBool ("walk", true); // walks right
            transform.position += Vector3.right * 3.0f * Time.deltaTime;
            sprite.flipX = true;
        } 
        else if (movingLeft == false) {
            //speed = 0;
            animator.SetBool ("walk", false); // goes back to idle
        }
    }

    public void limitLD() { // UI Button Event trigger - pointUp
        movingLeft = false;
    }

    public void limitRD() { // UI Button Event trigger - pointUp
        movingRight = false;
    }


    public void MoveLeft() { // UI Button Event trigger - pointDown
        movingLeft = true;
        movingRight = false;
    }

    public void MoveRight() { // UI Button Event trigger - pointDown
        movingLeft = false;
        movingRight = true;
    }

    private void Movement()
    {
        float x = 0f, y = 0f;

        // Pegar das teclas (setas, joystick, A, D) para movimentar na horizontal
        x = Input.GetAxis("Horizontal");

        // Pegar das teclas (setas, joystick, W, S) para movimentar na vertical
        // Remove o "//" para permitir a movimentação em Vertical
        //y = Input.GetAxis("Vertical");

        // Passa para o walk a verificação se as teclas de movimentação foram pressionadas.
        animator.SetBool("walk", (x != 0));
        
        // Passa o valor de controle de direita esquerda, baseado nos valores da variavel "x"
        if (x > 0)
            animator.SetBool("right", true);
        else if (x < 0)
            animator.SetBool("right", false);

        // Declarei uma variavel para armazenar um novo vetor para armazenar informaçoes do movimento
        Vector2 movement = new Vector2(x, y);

        // Adicionar uma velocidade ao corpo
        rigbody.velocity = movement * speed;
    }

    public void ActionButton()
    {
        DoAction();
    }


    void DoAction()
    {
        // Verifica se há algum objeto de interação e se o botão de ação foi pressionado
        if (interactObject != null /* && Input.GetKeyDown(KeyCode.E) */)
        {
            // Manda o objeto de interação fazer sua ação
            interactObject.Action(this);
        }
    }

    // Método que carrega a posição do jogador da próxima cena.
    private void LoadPosition()
    {
        // Verifica se foi definido um posição para o jogador anteriormente.
        // Para tal, verificamos se o valor de "x" é diferente do padrão deifido como "-999999".
        // Isto é uma solução ruim, pois so funciona se na lógica do jogo nunca, houver uma posição 
        // valida de valor "-999999".
        if (PlayerPrefs.GetFloat("x", -999999) != -999999) {

            // Move o jogador para a posição definida.
            rigbody.transform.Translate(PlayerPrefs.GetFloat("x"), PlayerPrefs.GetFloat("y"), -1);

            // Verifica e define a direção do jogador.
            // if (PlayerPrefs.GetInt("right") == 1)
            //     animator.SetBool("right", true);
            // else
            //     animator.SetBool("right", false);

            // Depois de carregar apagar a posição definida para a próxima cena.
            PlayerPrefs.DeleteKey("x");
            PlayerPrefs.DeleteKey("y");
            //PlayerPrefs.DeleteKey("right");
        }
    }

    // Metodo que define a posição do jogador na próxima cena.
    public void SetLoadPosition(float x, float y)
    {
        // Define a posição do player usando as variaveis que foram passadas ao método.
        PlayerPrefs.SetFloat("x", x);
        PlayerPrefs.SetFloat("y", y);

        // Define a direção do player com base na direção atual.
        // O tipo int foi usado pois, não há um método padrão para valores booleanos (verdadeiro ou falso)
        // if (animator.GetBool("right")) 
        //     PlayerPrefs.SetInt("right", 1);
        // else
        //     PlayerPrefs.SetInt("right", 0);
    }

    public void AddLamp()
    {
        // Adiciona uma lampada
        Player.Lamps++; // -> Player.Lamps = Player.Lamps + 1;

        // Atualiza interface de items
        itemsUI.UpdateText(Collectible.Lamp);
    }

    // Método que tenta remover uma lampada do player se ele tiver.
    // Retorna:
    //      true -> caso o player tenha uma lampada e este foi retirada
    //      false -> caso o player não tenha uma lampada e não seja possível retirar
    public bool RemoveLamp()
    {
        if (Player.Lamps > 0)
        {
            // Remove uma lampa
            Player.Lamps--;

            // Atualiza interface de items
            itemsUI.UpdateText(Collectible.Lamp);

            return true;
        }
        else
        {
            // Não há lampadas, não faça nada
            return false;
        }
    }

    public void AddKey()
    {
        // Adiciona uma chave
        Player.Keys++; // -> Player.Keys = Player.Keys + 1;

        // Atualiza interface de items
        itemsUI.UpdateText(Collectible.Key);
    }

    // Método que tenta remover uma chave do player se ele tiver.
    // Retorna:
    //      true -> caso o player tenha uma chave e este foi retirada
    //      false -> caso o player não tenha uma chave e não seja possível retirar
    public bool RemoveKey()
    {
        if (Player.Keys > 0)
        {
            // Remove uma chave
            Player.Keys--;

            // Atualiza interface de items
            itemsUI.UpdateText(Collectible.Key);

            return true;
        }
        else
        {
            // Não há chaves, não faça nada
            return false;
        }
    }

    public void AddTool()
    {
        Player.Tools++;

        // Atualiza interface de items
        itemsUI.UpdateText(Collectible.Tool);
    }

    public bool RemoveTool()
    {
        if (Player.Tools > 0)
        {
            Player.Tools--;

            // Atualiza interface de items
            itemsUI.UpdateText(Collectible.Tool);

            return true;
        }
        else
        {
            return false;
        }
    }

    public void Hide()
    {
        if (escondido == true)
        {
            // Desesconde-se
            sprite.enabled = true;
            collider.isTrigger = false;
            rigbody.gravityScale = 1f;
            escondido = false;
        }
        else
        {
            // Esconde-se
            sprite.enabled = false;
            collider.isTrigger = true;
            rigbody.gravityScale = 0f;
            escondido = true;
        }
    }

    // Método para parar a movimentação do player
    public void StopMovement()
    {
        // Para a movimentação do player, para remover bug de andar e apartar "E"
        rigbody.velocity = Vector2.zero;
    }

    public void Death()
    {
        var audio = AudioManager.GetManager();

        if (audio != null)
        {
            audio.Stop();

            audio.audioSource.clip = audio.gameOver;

            audio.audioSource.loop = false;

            audio.Play();
        }
        
        // Carrega scena
        SceneManager.LoadScene ((int)Scenes.GameOver);
    }
}[/size]

AnaSenpai
Iniciante
Iniciante

PONTOS : 747
REPUTAÇÃO : 0
Respeito as regras : objeto com referencia vazia WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: objeto com referencia vazia

Mensagem por Weslley em Seg Jun 15, 2020 3:57 pm

Bom como próprio erro já diz referencia nula, na linha 81
que provavelmente é essa
Código:
itensUI.GetComponent<Itens>().ChangeActive(Collectible.Key, true);

então basicamente você esqueceu de setar alguma coisa
Weslley
Weslley
Moderador

Masculino PONTOS : 4129
REPUTAÇÃO : 715
Idade : 22
Áreas de atuação : https://play.google.com/store/apps/dev?id=4937415175307699867
https://exitside.com.br/
Respeito as regras : objeto com referencia vazia Aad8pUi

Voltar ao Topo Ir em baixo

Voltar ao Topo


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