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:
Unity Admob Erro
Mais Um jogo!
DEATH ISLAND 0.2.5 SURVIVAL GAME 4 ANOS EM DESENVOLVIMENTO
Player travando na colisão com o chão Unity 2D
Sombras estão quadradas na build
nao consigo fazer o player sentar no sofa alguem me ajuda
Unity - Ao mudar de scene, todas as Lights são deletadas
210 Linhas de código para inimigo é muito grande?
modelar avatar e skins para um jogo web
Collider (mesh?)
ShapeKeys do Blender para a Unity altera áreas próximas
COMO EVITAR QUE UM OBJETO (PLAYER,ITEM ETC...) ATRAVESSE UMA PAREDE.
Ajuda em Script de Verificação de Ação e Reação
unity Failed to load PlayerSettings (internal index #0). Most likely data f
PRECISO FAZER QUE MEU GAME FIQUE ONLINE
Materiais do Blander não aparecem no MeshRendere do Objeto na Unity
Repetiçoes de Textura no Terreno
SERVER IS DOWN - UNITY+MSQL
Procuro programadores - Novo jogo
Problema com o MS VEHICLES
Preciso de ajuda com a Unity
Problema com vídeo em 360° na Unity
Problemas no MS Vehicles
unity- eventos na Animação com Armature/Bones vinda do blender não funciona
ajuda exibir resultados simulados em uma liga Game Unity
Unity - ParticleSystem não é redirecionado no rawimage no canvas
Como resolver o problema de "face orientation" no Blender.
[DÚVIDA] Tive um problema com meu Canvas
erro na Directional Light
Problemas com o Directional Light da Unity 3D
Novo jogo da franquia Sphere game em desenvolvimento
malha da roda não girando com wheel collider unity
Problemas com ambiguidade
Touch mobile
INVALID TOKEN
Como acessar o "HD Render Pipeline" do HDRP por script?
CHAT GPT PRA JOGO DE TIRO? comentem
Tutorial script inimigo segue e foge do player
Ainda vale a pena lançar Asset na Asset Store?
Ajuda com tabela de historico de pontuaçao.
[TUTORIAL] Entrar no carro estilo GTA
Como derrapar um Whell Collider
Como altertar o valor do "Asymptote Value" do Whell Collider via Script
Preciso de ajuda para substituir valor de variavel em outro script
Ajuda com Top Down Shooter utilizando Photon
Duvida com Netcode
[RESOLVIDO] Unity - Movendo a Câmera na Horizontal/Vertical com Touch
Alguém me ajuda com os anúncios pfv
Segundo Trailer do jogo Dark Age, Feliz Natal a todos!
Unity - ScrollRect, Viewport, Content - O Conteúdo ñ inicia no topo
Coleta de itens
Unity - Cadastro do email do jogador
[GRATIS] PACK DE MODELOS 3D PARA JOGO DE TERROR
Onde Conseguir músicas para meu Jogo?
error CS0246 em Script
Alguem teve ja esse problema?
[Projeto em Andamento] Draug, um jogo de hordas
DISPONIVEL PARA FAZER MODELOS 3D
Unity-Loja.Como os Jogadores terão acesso aos ítens comprados na PlayStore?
Bugando depois do Build.
Primeiro Trailer do jogo Dark Age
Problema com sombra
Mesh e Material do objeto trocando para uma instancia no inicio do jogo
[RESOLVIDO] Unity - RawImages_Layer_Camera
INVESTIMENTO EM JOGOS E BANCO DE TALENTO
Teaser do meu novo projeto pessoal, Dark Age
Preciso de ajuda com mudança para mobile androide.
[RESOLVIDO] Posição final do objeto em jogo 2D
Input.GetAxis() obedercer a orientação de um objeto.
Interação com elementos UI
Meu primeiro jogo na steam
Minimap/Radar/GPS Estilo GTA V
[RESOLVIDO] Erro no console depois que formatei o pc
PACK GRÁTIS de Músicas ELETRÔNICAS para ajudar vocês em seus Jogos Indies!
[TUTORIAL] Entenda como funciona: ENUM, SWITCH, BREAK, CASE no C#
O Labirinto II - Baixe o Jogo
Qual e o codigo de Botões na unity para saber seus estados?
Como carregar itens pequenos dentro do carro sem que atravesse os colliders
[Duvida] Script pegar itens
Travamento ao trocar de cena
Colisão zoada e movimentação
Salvar objetos que foram destruidos entre cenas na unity
Quero começa a desenvolver um jogo de luta porem eu queria aprender a faze
Pegar qual objeto colidiu com o Linecast.
movimentação e camera?
[RESOLVIDO] Unity - SceneManager.LoadScene abre scene com objeto "vazio"
[RESOLVIDO] ajuda sobre skybox
MEU SIMULADOR DE CARRO
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY
[RESOLVIDO] Ausencia da funçao NavMesh na Unity 2022.2.12
[_____IMPORTANTE_____] ALTERAÇÕES NA POLÍTICA DE COBRANÇA DA UNITY - 2
Roll Up Um jogo de aventura e desáfios
Terminologia da Unity em outras engines
Como criar a iluminação do Sol no Sistema Solar?
Conexão de lobby pelo OnConnectedToMaster
Problema na exportção de projeto unity
[RESOLVIDO] Unity - Áudios estão emitindo som só Depois do Botão ser solto
Unity - Banco de Dados Online junto ao Jogo
Player virar para o inimigo(Prefab)
Seg 15 Abr 2024 - 12:23
Sáb 13 Abr 2024 - 11:37
Qua 10 Abr 2024 - 1:33
Ter 9 Abr 2024 - 10:28
Seg 8 Abr 2024 - 21:27
Seg 8 Abr 2024 - 8:01
Sáb 6 Abr 2024 - 20:05
Qui 4 Abr 2024 - 23:34
Qui 4 Abr 2024 - 23:13
Qui 4 Abr 2024 - 23:10
Sex 22 Mar 2024 - 14:41
Dom 10 Mar 2024 - 14:30
Sex 1 Mar 2024 - 13:27
Qui 22 Fev 2024 - 21:57
Ter 20 Fev 2024 - 9:28
Ter 20 Fev 2024 - 0:15
Seg 19 Fev 2024 - 13:06
Seg 12 Fev 2024 - 13:56
Seg 12 Fev 2024 - 13:17
Dom 11 Fev 2024 - 20:55
Dom 11 Fev 2024 - 11:16
Seg 5 Fev 2024 - 16:18
Dom 4 Fev 2024 - 21:39
Qua 31 Jan 2024 - 23:59
Ter 30 Jan 2024 - 19:37
Ter 23 Jan 2024 - 18:33
Dom 21 Jan 2024 - 18:03
Sáb 20 Jan 2024 - 19:03
Sáb 20 Jan 2024 - 18:58
Sáb 20 Jan 2024 - 18:39
Sex 19 Jan 2024 - 8:40
Dom 14 Jan 2024 - 17:30
Qua 10 Jan 2024 - 22:29
Qua 10 Jan 2024 - 20:55
Qua 10 Jan 2024 - 19:14
Ter 9 Jan 2024 - 15:55
Ter 9 Jan 2024 - 8:04
Sáb 6 Jan 2024 - 20:02
Sex 5 Jan 2024 - 7:01
Sex 5 Jan 2024 - 0:12
Qui 4 Jan 2024 - 18:55
Qui 4 Jan 2024 - 12:52
Qui 4 Jan 2024 - 4:34
Ter 2 Jan 2024 - 23:48
Dom 31 Dez 2023 - 19:25
Qua 27 Dez 2023 - 17:44
Qua 27 Dez 2023 - 15:08
Sáb 23 Dez 2023 - 19:27
Sáb 23 Dez 2023 - 17:06
Qui 21 Dez 2023 - 20:10
Seg 18 Dez 2023 - 14:04
Sex 15 Dez 2023 - 17:11
Qui 14 Dez 2023 - 21:13
Qui 14 Dez 2023 - 14:47
Qui 14 Dez 2023 - 13:48
Qua 13 Dez 2023 - 20:58
Ter 12 Dez 2023 - 14:32
Seg 11 Dez 2023 - 13:53
Qua 6 Dez 2023 - 20:13
Sáb 2 Dez 2023 - 20:06
Qui 30 Nov 2023 - 7:49
Seg 27 Nov 2023 - 1:35
Qua 22 Nov 2023 - 7:37
Qui 9 Nov 2023 - 13:22
Seg 6 Nov 2023 - 11:59
Ter 31 Out 2023 - 9:53
Dom 29 Out 2023 - 20:05
Dom 29 Out 2023 - 3:03
Sex 27 Out 2023 - 15:43
Sex 27 Out 2023 - 15:28
Qua 25 Out 2023 - 13:20
Seg 23 Out 2023 - 10:34
Dom 22 Out 2023 - 18:55
Qui 19 Out 2023 - 23:57
Qui 19 Out 2023 - 18:39
Ter 17 Out 2023 - 18:37
Ter 17 Out 2023 - 18:18
Seg 16 Out 2023 - 13:59
Sáb 14 Out 2023 - 12:15
Qua 11 Out 2023 - 18:07
Seg 9 Out 2023 - 16:19
Qua 4 Out 2023 - 12:12
Qua 4 Out 2023 - 12:11
Ter 3 Out 2023 - 21:18
Ter 3 Out 2023 - 21:08
Ter 3 Out 2023 - 18:05
Ter 26 Set 2023 - 12:45
Seg 25 Set 2023 - 21:02
Seg 25 Set 2023 - 9:47
Sáb 23 Set 2023 - 14:10
Sex 22 Set 2023 - 21:01
Qui 21 Set 2023 - 11:04
Qua 20 Set 2023 - 16:40
Qua 20 Set 2023 - 9:15
Dom 17 Set 2023 - 12:17
Sex 15 Set 2023 - 19:24
Sex 15 Set 2023 - 17:41
Sex 15 Set 2023 - 16:28
Sex 15 Set 2023 - 10:56



































































































[RESOLVIDO] Utilizar o Range

2 participantes

Ir para baixo

Resolvido [RESOLVIDO] Utilizar o Range

Mensagem por Th2y Sex 4 Set 2020 - 21:01

Estou com problemas no meu código, ele deveria ler todas as linhas escritas em um .txt, e depois guardar cada uma em uma variável da lista, isso seria para fazer um sistema de cartas, onde haveriam varias cartas espalhadas pelo cenário e o jogador poderia pegar uma por vez, o conteúdo da mesma sendo o que está em uma das linhas do .txt e não podendo repetir o conteúdo (tipo: tem 3 linhas no .txt, uma escrita "bla", outra "ble" e outra "bli", e as cartas estariam uma em cada canto) porém ele só percorre uma vez o "for", então todas as cartas que crio ficam com o mesmo conteúdo e também aparece um erro na Unity quando um carta abre: "ArgumentOutOfRangeException:Index was out of range Must be non-negative and less than the size of the collection".
Código:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;

public class AbrirCarta : MonoBehaviour
{
    int cartas1;
    bool apertou = false;
    public Text aviso;
    public GameObject panelCartas;
    public Text conteudoCartas;
    public static bool estaLendo = false;
    public float tempo = 5f;
    List<string> lista = new List<string>();

    void Start()
    {
        string[] cartasFase1 = File.ReadAllLines("Assets\\Txt\\CartasFase1.txt");
        for (int i = 0; i < cartasFase1.Length; i++)
        {
            lista.Add(cartasFase1[i]);
        }

        aviso.gameObject.SetActive(false);
        panelCartas.SetActive(false);        
    }

    void Update()
    {
        if (estaLendo)
        {
            VisaoMouse.mouseOn = true;
            tempo -= Time.deltaTime;
            Ler();
        }
        else
        {
            apertou = false;
            VisaoMouse.mouseOn = false;
        }
    }

    public void SairLeitura()
    {
        estaLendo = false;
    }

    public void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Carta"))
        {
            aviso.gameObject.SetActive(true);
            estaLendo = true;
            Destroy(other.gameObject);
        }
    }

    public void Ler()
    {
        if (Input.GetKey(KeyCode.KeypadEnter) && tempo >= 0f || (Input.GetKey(KeyCode.KeypadEnter)) && tempo >= 0f)
        {
            apertou = true;
            estaLendo = true;
            panelCartas.SetActive(true);
            cartas1 = Random.Range(0, lista.Count);

            conteudoCartas.text = lista[cartas1];
            lista.RemoveAt(cartas1);
        }

        if (tempo <= 0f || apertou)
        {
            aviso.gameObject.SetActive(false);
            tempo = 5f;
        }
    }
}

Th2y
Membro
Membro

Feminino PONTOS : 1550
REPUTAÇÃO : 4
Idade : 22
Áreas de atuação : Programação de jogos digitais
Respeito as regras : [RESOLVIDO] Utilizar o Range WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Utilizar o Range

Mensagem por Th2y Sex 4 Set 2020 - 21:07

Th2y escreveu:Estou com problemas no meu código, ele deveria ler todas as linhas escritas em um .txt, e depois guardar cada uma em uma variável da lista, isso seria para fazer um sistema de cartas, onde haveriam varias cartas espalhadas pelo cenário e o jogador poderia pegar uma por vez, o conteúdo da mesma sendo o que está em uma das linhas do .txt e não podendo repetir o conteúdo (tipo: tem 3 linhas no .txt, uma escrita "bla", outra "ble" e outra "bli", e as cartas estariam uma em cada canto) porém ele só percorre uma vez o "for", então todas as cartas que crio ficam com o mesmo conteúdo e também aparece um erro na Unity quando um carta abre: "ArgumentOutOfRangeException:Index was out of range Must be non-negative and less than the size of the collection".
Código:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using System.IO;

public class AbrirCarta : MonoBehaviour
{
    int cartas1;
    bool apertou = false;
    public Text aviso;
    public GameObject panelCartas;
    public Text conteudoCartas;
    public static bool estaLendo = false;
    public float tempo = 5f;
    List<string> lista = new List<string>();

    void Start()
    {
        string[] cartasFase1 = File.ReadAllLines("Assets\\Txt\\CartasFase1.txt");
        for (int i = 0; i < cartasFase1.Length; i++)
        {
            lista.Add(cartasFase1[i]);
        }

        aviso.gameObject.SetActive(false);
        panelCartas.SetActive(false);        
    }

    void Update()
    {
        if (estaLendo)
        {
            VisaoMouse.mouseOn = true;
            tempo -= Time.deltaTime;
            Ler();
        }
        else
        {
            apertou = false;
            VisaoMouse.mouseOn = false;
        }
    }

    public void SairLeitura()
    {
        estaLendo = false;
    }

    public void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("Carta"))
        {
            aviso.gameObject.SetActive(true);
            estaLendo = true;
            Destroy(other.gameObject);
        }
    }

    public void Ler()
    {
        if (Input.GetKey(KeyCode.KeypadEnter) && tempo >= 0f || (Input.GetKey(KeyCode.KeypadEnter)) && tempo >= 0f)
        {
            apertou = true;
            estaLendo = true;
            panelCartas.SetActive(true);
            cartas1 = Random.Range(0, lista.Count);

            conteudoCartas.text = lista[cartas1];
            lista.RemoveAt(cartas1);
        }

        if (tempo <= 0f || apertou)
        {
            aviso.gameObject.SetActive(false);
            tempo = 5f;
        }
    }
}


Obs: já tentei utilizar no Update, porém não funciona, ele não apaga o que está escrito na lista e acaba repetindo o conteúdo, a diferença é que para de aparecer o erro que a Unity fala

Th2y
Membro
Membro

Feminino PONTOS : 1550
REPUTAÇÃO : 4
Idade : 22
Áreas de atuação : Programação de jogos digitais
Respeito as regras : [RESOLVIDO] Utilizar o Range WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Utilizar o Range

Mensagem por Fagner Sáb 5 Set 2020 - 19:07

A lógica está meio confusa, tem Ou(||) comparando a mesma coisa, enfim...
Você usou o GetKey pra iniciar a checagem, como o GetKey continua a ser chamado enquanto a tecla permanecer pressionada, seu código será executado várias vezes até você soltar a tecla, limpando a lista de textos e mostrando apenas o ultimo sorteado, por isso que você acha que não está mudando...
Seu Range está funcionando, o problema é que você não checa primeiro se a quantidade de itens na lista é maior que 0 antes de remover, o que gera o erro que você comentou. E tem esse problema de lógica, que faz o texto mudar muito rápido, removendo os itens e deixando apenas o ultimo sorteado visível no texto da UI.
Fagner
Fagner
Moderador

Masculino PONTOS : 4224
REPUTAÇÃO : 665
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras : [RESOLVIDO] Utilizar o Range Aad8pUi

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Utilizar o Range

Mensagem por Th2y Sáb 5 Set 2020 - 21:45

Fagner escreveu:A lógica está meio confusa, tem Ou(||) comparando a mesma coisa, enfim...
Você usou o GetKey pra iniciar a checagem, como o GetKey continua a ser chamado enquanto a tecla permanecer pressionada, seu código será executado várias vezes até você soltar a tecla, limpando a lista de textos e mostrando apenas o ultimo sorteado, por isso que você acha que não está mudando...
Seu Range está funcionando, o problema é que você não checa primeiro se a quantidade de itens na lista é maior que 0 antes de remover, o que gera o erro que você comentou. E tem esse problema de lógica, que faz o texto mudar muito rápido, removendo os itens e deixando apenas o ultimo sorteado visível no texto da UI.
Muito obrigada, troquei o GetKey pelo GetKeyDown e funcionou (aquela parte repetida também consertei), e adicionei um if antes de remover  Simpático

Th2y
Membro
Membro

Feminino PONTOS : 1550
REPUTAÇÃO : 4
Idade : 22
Áreas de atuação : Programação de jogos digitais
Respeito as regras : [RESOLVIDO] Utilizar o Range WvDYdlf

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos