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:
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
modelar avatar e skins para um jogo web
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
210 Linhas de código para inimigo é muito grande?
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)
[TUTORIAL] Sistema De Save Game Ao Sair Da Fase
Problema de Sincronização de um objeto de um jogo multiplayer usa q Photon
Unity - Compartilhar meu Jogo
Alguém que manja do Google ADmob?
Unity - Avaliar meu Jogo
[RESOLVIDO] Destruir inimigo com o player.
Salvar e carregar dados na Unity de objetos prefabs sem sobrescrever os dad
Unity - Salvar os Dados do Jogador Online
Ontem à(s) 10:09 pm
Dom Mar 10, 2024 2:30 pm
Sex Mar 01, 2024 1:27 pm
Qui Fev 22, 2024 9:57 pm
Qua Fev 21, 2024 10:39 am
Ter Fev 20, 2024 9:28 am
Ter Fev 20, 2024 12:15 am
Seg Fev 19, 2024 1:06 pm
Seg Fev 12, 2024 1:56 pm
Seg Fev 12, 2024 1:17 pm
Dom Fev 11, 2024 8:55 pm
Dom Fev 11, 2024 11:16 am
Seg Fev 05, 2024 4:18 pm
Dom Fev 04, 2024 9:39 pm
Qua Jan 31, 2024 11:59 pm
Ter Jan 30, 2024 7:37 pm
Ter Jan 23, 2024 6:33 pm
Dom Jan 21, 2024 6:03 pm
Sáb Jan 20, 2024 7:03 pm
Sáb Jan 20, 2024 6:58 pm
Sáb Jan 20, 2024 6:39 pm
Sex Jan 19, 2024 1:29 pm
Sex Jan 19, 2024 8:40 am
Dom Jan 14, 2024 5:30 pm
Qua Jan 10, 2024 10:29 pm
Qua Jan 10, 2024 8:55 pm
Qua Jan 10, 2024 7:14 pm
Ter Jan 09, 2024 3:55 pm
Ter Jan 09, 2024 8:04 am
Sáb Jan 06, 2024 8:02 pm
Sex Jan 05, 2024 7:01 am
Sex Jan 05, 2024 12:12 am
Qui Jan 04, 2024 6:55 pm
Qui Jan 04, 2024 12:52 pm
Qui Jan 04, 2024 4:34 am
Ter Jan 02, 2024 11:48 pm
Dom Dez 31, 2023 7:25 pm
Qua Dez 27, 2023 5:44 pm
Qua Dez 27, 2023 3:08 pm
Sáb Dez 23, 2023 7:27 pm
Sáb Dez 23, 2023 5:06 pm
Qui Dez 21, 2023 8:10 pm
Seg Dez 18, 2023 2:04 pm
Sex Dez 15, 2023 5:11 pm
Qui Dez 14, 2023 9:13 pm
Qui Dez 14, 2023 2:47 pm
Qui Dez 14, 2023 1:48 pm
Qua Dez 13, 2023 8:58 pm
Ter Dez 12, 2023 2:32 pm
Seg Dez 11, 2023 1:53 pm
Qua Dez 06, 2023 8:13 pm
Sáb Dez 02, 2023 8:06 pm
Qui Nov 30, 2023 7:49 am
Seg Nov 27, 2023 1:35 am
Qua Nov 22, 2023 7:37 am
Qui Nov 09, 2023 1:22 pm
Seg Nov 06, 2023 11:59 am
Ter Out 31, 2023 9:53 am
Dom Out 29, 2023 8:05 pm
Dom Out 29, 2023 3:03 am
Sex Out 27, 2023 3:43 pm
Sex Out 27, 2023 3:28 pm
Qua Out 25, 2023 1:20 pm
Seg Out 23, 2023 10:34 am
Dom Out 22, 2023 6:55 pm
Qui Out 19, 2023 11:57 pm
Qui Out 19, 2023 6:39 pm
Ter Out 17, 2023 6:37 pm
Ter Out 17, 2023 6:18 pm
Seg Out 16, 2023 1:59 pm
Sáb Out 14, 2023 12:15 pm
Qua Out 11, 2023 6:07 pm
Seg Out 09, 2023 4:19 pm
Qua Out 04, 2023 12:12 pm
Qua Out 04, 2023 12:11 pm
Ter Out 03, 2023 9:18 pm
Ter Out 03, 2023 9:08 pm
Ter Out 03, 2023 6:05 pm
Ter Set 26, 2023 12:45 pm
Seg Set 25, 2023 9:02 pm
Seg Set 25, 2023 9:47 am
Sáb Set 23, 2023 2:10 pm
Sex Set 22, 2023 9:01 pm
Qui Set 21, 2023 11:04 am
Qua Set 20, 2023 4:40 pm
Qua Set 20, 2023 9:15 am
Dom Set 17, 2023 12:17 pm
Sex Set 15, 2023 7:24 pm
Sex Set 15, 2023 5:41 pm
Sex Set 15, 2023 4:28 pm
Sex Set 15, 2023 10:56 am
Sex Set 15, 2023 10:15 am
Seg Set 11, 2023 11:43 am
Seg Set 11, 2023 11:31 am
Sáb Set 09, 2023 4:53 pm
Sáb Set 09, 2023 1:44 pm
Ter Set 05, 2023 11:12 pm
Ter Set 05, 2023 3:12 pm
Seg Set 04, 2023 11:53 pm



































































































[RESOLVIDO] Acessar um valor de outro Script em c#

5 participantes

Ir para baixo

Resolvido [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Sáb Nov 18, 2017 11:04 pm

Desculpa pela noobice galera, mas estou começando agora...
Minha dúvida é a seguinte...


Como acessar um valor que está em outro script.
valorA = 5 (no SCRIPT1)


como faço para  atribuir o valorA do (script1), para o valorB do (script2)?
 
tipo:
valorB (SCRIPT2) = valorA(SCRIP1).
 
Desde já obrigado!

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por Zecandy Sáb Nov 18, 2017 11:10 pm

Valor Script1 tem que ser static por ex: public static float vida.
No script2 ficaria assim, o nome do a variavel tal = nome do script1.vida.
Zecandy
Zecandy
Mestre
Mestre

Masculino PONTOS : 3258
REPUTAÇÃO : 155
Idade : 41
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por FelipeSouza11 Sáb Nov 18, 2017 11:19 pm

levando em conta os Exenplo do amigo acima: 

Código:
class Script1:MonoBehaviour{//duas barras sao comentarios,este é o script1
Script2 sc2;
int res;
void Start(){
sc2=new Script2();
res=sc2.a;
}

}



//---------------------------------------
class Script2:MonoBehaviour{//este é o script2
static int a=6;

}
FelipeSouza11
FelipeSouza11
ProgramadorMaster

Masculino PONTOS : 3312
REPUTAÇÃO : 210
Idade : 33
Áreas de atuação : C#, Unity, Html, Css, Básico em JS, VB ,UPN e SA_MP
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# Aad8pUi

https://rockpryme.itch.io/

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por rafaelllsd Dom Nov 19, 2017 6:39 pm

A variavel não precisa ser estatica, você pode acessar o script como um componente, como realmente ele é:
Código:
   public class Script1 : MonoBehaviour {
      public int valor;
   }

   public class Script2 : MonoBehaviour {
      public Script1 script1;

      void Start () {
         script1.valor = 10;
      }
   }
rafaelllsd
rafaelllsd
ProgramadorMaster

Masculino PONTOS : 4994
REPUTAÇÃO : 507
Idade : 23
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.

Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# Aad8pUi

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 6:47 am

MUITOOOOOO! Obrigado galera funcionou certinho, vcs são d+.

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 8:06 am

Só que agora "as vezes" está dando um bug no retorno dos valores (passando valor de outro tema). Vou tentar explicar. Joguei somente o tema 1, retorno blz. Joguei somente o tema 2, retorno blz. Joguei tema1, tema2, tema1, tema2: Neste momento o bug aparece, na hora que aperto start observo no print, que mesmo eu estando no tema1 ele "as vezes" me da o retorno dos valores do terma2, e assim por diante mesmo estando no tema2 ele "as vezes" me passa os valores do tema1, consequentemente na hora de calcular o resultado final fica da diferença.
Vou postar o script se alguém puder me da uma luz eu agradeço muito.

Código:
public class modoJogo1 : MonoBehaviour {


    private    int            TInotaPerguntas, TInotaAcertos, TInotaErros;                                                    

---------------------------------------------------------------------------------
    void Start () {

        TInotaPerguntas = temaInfo.notaPerguntas;      //Retorno da quantidade de perguntas, acertos e erros
        TInotaAcertos    = temaInfo.notaAcertos;       //gravados no "script temaInfo".
        TInotaErros     = temaInfo.notaErros;


---------------------------------------------------------------------------------
// Função responsável por calcular os valores e salvar os dados no "script temaInfo".

    void    calcularNotaFinal()

    {
       testeFinalizado = true;

       notaPerguntas   = Mathf.RoundToInt(qtdRespondida + TInotaPerguntas);        //"TINOTAPERGUNTAS" variável que usei para trazer o retorno da                                                           
       notaAcertos     = Mathf.RoundToInt(qtdAcertos + TInotaAcertos);             // quantidade de perguntas que já joguei no jogo anterior.
       notaErros       = Mathf.RoundToInt (notaPerguntas - notaAcertos);
       notaPorcentagem = Mathf.RoundToInt (notaAcertos * porcentagem / notaPerguntas);

        PlayerPrefs.SetInt ("notaPerguntas_" + idTema.ToString(), (int)notaPerguntas);                                      
        PlayerPrefs.SetInt ("notaAcertos_" + idTema.ToString(), (int)notaAcertos);
        PlayerPrefs.SetInt ("notaErros_" + idTema.ToString(), (int)notaErros);
        PlayerPrefs.SetInt ("notaPorcentagem_" + idTema.ToString(), (int)notaPorcentagem);

        notaPerguntasTxt.text = notaPerguntas.ToString();                                                           
        notaAcertosTxt.text = notaAcertos.ToString();
        notaErrosTxt.text = notaErros.ToString ();
        notaPorcentagemTxt.text = notaPorcentagem.ToString ();

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Seg Nov 20, 2017 8:28 am

Esse temaInfo, seria qual script? Ele é acessado em todos os modos de jogo? Caso sim, talvez seja isso por ser acessado por vários scripts, algo talvez esteja o modificando... Explique melhor seu problema! Uma dica, caso os scripts forem parecidos, crie uma classe com uma list de todos os modos de jogos, fica mais otimizado!
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 12:54 pm

recagonlei escreveu:Esse temaInfo, seria qual script? Ele é acessado em todos os modos de jogo? Caso sim, talvez seja isso por ser acessado por vários scripts, algo talvez esteja o modificando... Explique melhor seu problema! Uma dica, caso os scripts forem parecidos, crie uma classe com uma list de todos os modos de jogos, fica mais otimizado!

Vou explicar o que estou tentando fazer, e se puderem me dizer como fazer isso de uma forma mais simples eu agradeço.
O meu jogo tem uma variável “qtdPerguntas” que recebe a quantidade de perguntas respondidas. Como o jogo tem 10 questões, no final da partida “qtdPerguntas = 10”, agora que vem o beo.
Quero que quando o jogo for reiniciado a contagem de perguntas continue de onde parou.
Fiz uma variável “totalPerguntas” para armazenar o total de perguntas respondidas.
Então....
quero fazer isso:  >>>>>>  totalPerguntas  = “qtdPerguntas da partida anterior” + qtdPerguntas da partida atual; <<<<<<<<

E assim infinitamente, desse modo ficariam registradas todas as perguntas respondidas no jogo. Mas não estou conseguindo.
Se alguém tiver um luz no final do túnel para me ajudar eu agradeço muito.

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Seg Nov 20, 2017 5:09 pm

De um modo mais simples você faria:
Declare o script que tem a variavel "qtdPerguntas" ex:

Código:
public NomeDoSeuScriptQueTemAvariavel m_questionAmmountScript;

Depois disso, você associa o script no inspector e ele estará declarado ao "modoJogo1"
Depois nessa parte:



Código:
[...]   
void calcularNotaFinal(){
    m_questionAmmount.totalPerguntas += m_questionAmmount.qtdPerguntas;
[...]



Dessa forma você terá a soma no método final e pronto!
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 6:35 pm

recagonlei escreveu:De um modo mais simples você faria:
Declare o script que tem a variavel "qtdPerguntas" ex:

Código:
public NomeDoSeuScriptQueTemAvariavel m_questionAmmountScript;

Depois disso, você associa o script no inspector e ele estará declarado ao "modoJogo1"
Depois nessa parte:



Código:
[...]   
void calcularNotaFinal(){
    m_questionAmmount.totalPerguntas += m_questionAmmount.qtdPerguntas;
[...]



Dessa forma você terá a soma no método final e pronto!

Desculpe minha ignorância quanto a estes conhecimentos recagonlei, mas não compreendi direito. Vou te passar os script e se vc puder mostrar neles eu te agradeço pelo resto da vida, pois já tem mais de semana q não consigo dormir tentando achar uma solução para este problema.

Código:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class modoJogo1 : MonoBehaviour {

    [Header("Configuração dos Textos")]
    public    Image         perguntaIMG;
    public    Text          nomeTemaTxt, perguntaTxt, infoRespostaTxt, notaFinalTxt, msg1Txt, msg2Txt;

    [Header("Configuração dos Textos Alternativas")]
    public    Text         altAtxt;
    public    Text         altBtxt, altCtxt, altDtxt ;

    [Header("Configuração das Imagens Alternativas")]
    public    Image         altAimg;
    public    Image         altBimg, altCimg, altDimg;

    [Header("Configuração das Barras")]
    public    GameObject    barraProgresso;
    public    GameObject    barraTempo;

    [Header("Configuração dos Botões")]
    public    Button[]    botoes;
    public    Color       corAcerto, corErro;

    [Header("Configuração do Modo de Jogo")]
    public    bool         perguntasComIMG;
    public    bool         perguntasAleatorias, utilizarAlternativas, utilizarAlternativasIMG, jogarComTempo, mostarCorreta;
    public    float        tempoResponder;
    public    int          qtdPiscar;

    [Header("Configuração das Perguntas")]
    public    string[]    perguntas;
    public    Sprite[]    perguntasIMG;
    public    string[]    correta;
    public    int         qtdPerguntas;
    public    List<int>   listaPerguntas;

    [Header("Configuração das Alternativas")]
    public    string[]    alternativasA;
    public    string[]    alternativasB, alternativasC, alternativasD;

    [Header("Configuração das Alternativas IMG")]
    public    Sprite[]    alternativasAimg;
    public    Sprite[]    alternativasBimg, alternativasCimg, alternativasDimg;

    [Header("Configuração dos Painéis")]
    public    GameObject[]    paineis;
    public    GameObject[]    estrela;

    [Header("Configuração das Mensagens")]
    public    string[]        mensagem1;
    public    string[]        mensagem2;
    public    Color[]            corMensagem;

//===================================================================================================================================
    [Header("Configuração BTNs Resultado")]                                                                            //PAINEL RESULTADO
    public    Text        notaPerguntasTxt;                                                                            
    public    Text        notaAcertosTxt, notaErrosTxt, notaPorcentagemTxt;                   

//===================================================================================================================================
    private    int        TInotaPerguntas, TInotaAcertos;                                                                 //PAINEL SCHULT
//===================================================================================================================================
   
     private    int       porcentagem, notaPerguntas, notaAcertos, notaErros, notaPorcentagem;                            //PAINEL RESULTADO
//===================================================================================================================================

    private    int        idResponder, qtdAcertos, notaMin1Estrela, notaMin2Estrelas, notaMin3Estrelas, notaMin4Estrelas, notaMin5Estrelas, notaMin6Estrelas, notaMin7Estrelas, notaMin8Estrelas, notaMin9Estrelas, notaMin10Estrelas, nEstrelas, idTema, idBtnCorreto;
    private    float      qtdRespondida, percProgresso, percTempo, notaFinal, valorQuestao, tempTime;
    private    bool       exibindoCorreta, testeFinalizado;

    private    soundController    soundController;    


    // Use this for initialization

    void Start () {

        TInotaPerguntas = temaInfo.TInotaPerguntas;   print ("TInotaPerguntas " + TInotaPerguntas);
        TInotaAcertos   = temaInfo.TInotaAcertos;     print ("TInotaAcertos " + TInotaAcertos);

//===================================================================================================================================
    porcentagem = 100;                                                                                                 //PAINEL RESULTADO
//===================================================================================================================================

//===================================================================================================================================
       
        notaPerguntas    = PlayerPrefs.GetInt ("notaPerguntas");                                                            //PAINEL RECORD
        notaAcertos      = PlayerPrefs.GetInt ("notaAcertos");
        notaErros        = PlayerPrefs.GetInt ("notaErros");
        notaPorcentagem  = PlayerPrefs.GetInt ("notaPorcentagem");
//===================================================================================================================================

        soundController = FindObjectOfType(typeof(soundController)) as soundController;

        idTema = PlayerPrefs.GetInt("idTema");
        notaMin1Estrela = PlayerPrefs.GetInt("notaMin1Estrela");
        notaMin2Estrelas = PlayerPrefs.GetInt("notaMin2Estrelas");
        notaMin3Estrelas = PlayerPrefs.GetInt("notaMin3Estrelas");
        notaMin4Estrelas = PlayerPrefs.GetInt("notaMin4Estrelas");
        notaMin5Estrelas = PlayerPrefs.GetInt("notaMin5Estrelas");
        notaMin6Estrelas = PlayerPrefs.GetInt("notaMin6Estrelas");
        notaMin7Estrelas = PlayerPrefs.GetInt("notaMin7Estrelas");
        notaMin8Estrelas = PlayerPrefs.GetInt("notaMin8Estrelas");
        notaMin9Estrelas = PlayerPrefs.GetInt("notaMin9Estrelas");
        notaMin10Estrelas = PlayerPrefs.GetInt("notaMin10Estrelas");

        nomeTemaTxt.text = PlayerPrefs.GetString("nomeTema");

        barraTempo.SetActive (false);

        if (perguntasComIMG == true) 

        {
        montarListaPerguntasIMG();
        }
        else 
        {
        montarListaPerguntas ();
        }
        progressaoBarra();
       
       controleBarraTempo();

        paineis [0].SetActive (true);
        paineis [1].SetActive (false);
    }


    // Update is called once per frame

    void Update () {

        if (jogarComTempo == true && exibindoCorreta == false && testeFinalizado == false)
        {
            tempTime += Time.deltaTime;

            controleBarraTempo();

            if (tempTime >= tempoResponder) { proximaPergunta(); }
        }
    }


    // ESTA FUNÇÃO É A RESPONSÁVEL POR MONTAR A LISTA DE PERGUNTAS A SEREM RESPONDIDAS

    public    void        montarListaPerguntas()
    {

        // FAZ A VALIDADE DE PERGUNTAS PARA O TESTE EM RELAÇÃO A QUANTIDADE DE PERGUNTAS EXISTENTES
        if(qtdPerguntas > perguntas.Length) { qtdPerguntas = perguntas.Length;    }
        valorQuestao = 10 / (float)qtdPerguntas;

        // EM CASO DE JOGO COM PERGUNTAS ALEATÓRIAS
        if(perguntasAleatorias == true) 
        {
            bool    addPerguntas = true;
            while(listaPerguntas.Count < qtdPerguntas) 
                {
                addPerguntas = true;

                int rand = Random.Range (0, perguntas.Length);

                foreach (int idP    in    listaPerguntas)

                {
                    if(idP == rand) 
                    {
                        addPerguntas = false;
                    }
                }
                if(addPerguntas == true) {    listaPerguntas.Add(rand);}
            }


            } // EM CASO DE MODO DE JOGO ONDE AS PERGUNTAS NÃO SÃO ALEATÓRIAS
        else
        {
            for (int i = 0; i < qtdPerguntas; i++) 
                {
                listaPerguntas.Add (i);
                }
        }

        perguntaTxt.text = perguntas [listaPerguntas [idResponder]];

        if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 
        {
            altAtxt.text = alternativasA [listaPerguntas [idResponder]];
            altBtxt.text = alternativasB [listaPerguntas [idResponder]];
            altCtxt.text = alternativasC [listaPerguntas [idResponder]];
            altDtxt.text = alternativasD [listaPerguntas [idResponder]];
        } 
        else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
        {    
            altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
            altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
            altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
            altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
        }
    }

    // ESTA FUNÇÃO É A RESPONSÁVEL POR MONTAR A LISTA DE PERGUNTAS COM IMAGEM A SEREM RESPONDIDAS
    public    void        montarListaPerguntasIMG()
    {

        // FAZ A VALIDADE DE PERGUNTAS PARA O TESTE EM RELAÇÃO A QUANTIDADE DE PERGUNTAS EXISTENTES
        if(qtdPerguntas > perguntasIMG.Length) { qtdPerguntas = perguntasIMG.Length;    }    

        valorQuestao = 10 / (float)qtdPerguntas;

        // EM CASO DE JOGO COM PERGUNTAS ALEATÓRIAS
        if(perguntasAleatorias == true) 
        {
            bool    addPerguntas = true;

            while (listaPerguntas.Count < qtdPerguntas) 
            {
                addPerguntas = true;

                int rand = Random.Range (0, perguntasIMG.Length);

                foreach (int idP    in    listaPerguntas)
                {
                    if(idP == rand) 
                    {
                        addPerguntas = false;
                    }
                }
                if(addPerguntas == true) {    listaPerguntas.Add(rand);}
            }
              

        } // EM CASO DE MODO DE JOGO ONDE AS PERGUNTAS NÃO SÃO ALEATÓRIAS
        else
        {
            for (int i = 0; i < qtdPerguntas; i++) 
                {
                listaPerguntas.Add (i);
                }
        }

        perguntaIMG.sprite = perguntasIMG[listaPerguntas[idResponder]];

        if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 
        {
            altAtxt.text = alternativasA [listaPerguntas [idResponder]];
            altBtxt.text = alternativasB [listaPerguntas [idResponder]];
            altCtxt.text = alternativasC [listaPerguntas [idResponder]];
            altDtxt.text = alternativasD [listaPerguntas [idResponder]];
        } 
        else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
        {    
            altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
            altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
            altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
            altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
        }
    }

        // ESTA FUNÇÃO É RESPONSÁVEL POR PROCESSAR A RESPOSTA DADA PELO JOGADOR

        public    void    responder(string alternativa)
    {


        // VERIFICA SE NO MODO DE JOGO ESTÁ SETADO PARA EXIBIR AS ALTERNATIVAS CORRETAS, CASO ESTEJA, ELE RETORNA EM CASO DE MAIS DE UM CLIQUE
        if(exibindoCorreta == true) { return; }

        // FAZ A VERIFICAÇÃO SE A RESPOSTA ESTÁ CORRETA E INCREMENTA UM NA QUANTIDADE DE ACERTOS
        if (correta [listaPerguntas [idResponder]] == alternativa)
        {
            qtdAcertos += 1;
            soundController.playAcerto();
        }
       else
        {
           soundController.playErro();
        }

        // EM CASO DO MODO DE JOGO COM EXIBIÇÃO DA CORRETA, INDICA QUAL BOTÃO CONTÉM A RESPOSTA CORRETA

        switch(correta[listaPerguntas[idResponder]]) 
        {
        case "A":
            idBtnCorreto = 0;
            break;
        case "B":
            idBtnCorreto = 1;
            break;
        case "C":
            idBtnCorreto = 2;
            break;
        case "D":
            idBtnCorreto = 3;
            break;
        }

        // EM CASO DE MODO DE JOGO EXIBINDO A RESPOSTA CORRETA, ALTERA A COR DOS BOTÕES E FAZ A CHAMADA DA FUNÇÃO DE ANIMAÇÃO

        if (mostarCorreta == true) 
        {
            foreach(Button b in botoes) 
            {
                b.image.color = corErro;
            }

            exibindoCorreta = true;

            botoes[idBtnCorreto].image.color = corAcerto;

            StartCoroutine("mostrarAlternativaCorreta");
        } 
        else // CASO O MODO DE JOGO NÃO ESTEJA PARA EXIBIR A CORRETA, CHAMA A PRÓXIMA PERGUNTA     
        {
        proximaPergunta();
        }
    }
     

    // FUNÇÃO RESPONSÁVEL POR PROCESSAR AS PERGUNTAS, FAZ A CHAMADA DE UMA NOVA OU ENCERRA O TESTE

    public    void        proximaPergunta()
    {
        idResponder += 1;
        tempTime = 0;

        // PAINÉIS DAS PERGUNTAS E RESPOSTAS
        paineis [2].SetActive (true);
        paineis [3].SetActive (false); 

        // FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        progressaoBarra ();
  
        EventSystem.current.SetSelectedGameObject(null);

        // CASO AINDA HAJA PERGUNTAS A SEREM RESPONDIDAS, PROCESSA A NOVA PERGUNTA
        if (idResponder < listaPerguntas.Count)
        {
            if(perguntasComIMG == true) 
            {
                perguntaIMG.sprite = perguntasIMG[listaPerguntas[idResponder]];
            } 
            else 
            {
                perguntaTxt.text = perguntas [listaPerguntas [idResponder]];
            }
            if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 

            {
                altAtxt.text = alternativasA [listaPerguntas [idResponder]];
                altBtxt.text = alternativasB [listaPerguntas [idResponder]];
                altCtxt.text = alternativasC [listaPerguntas [idResponder]];
                altDtxt.text = alternativasD [listaPerguntas [idResponder]];
            } 
            else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
            {    
                altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
                altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
                altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
                altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
            }
       }
        else // CASO O TESTE TENHA SIDO FINALIZADO, CHAMA A FUNÇÃO QUE CALCULA A NOTA FINAL
        {
            calcularNotaFinal();
        }
    }

    // FUNÇÃO QUE CONTROLA A BARRA DE PROGRESSO DO JOGO
    void    progressaoBarra()
    {
        infoRespostaTxt.text = "Respondeu " + qtdRespondida + " de " + listaPerguntas.Count + " perguntas";
        percProgresso = qtdRespondida / listaPerguntas.Count;
        barraProgresso.transform.localScale = new    Vector3 (percProgresso, 1, 1);
    }

    // FUNÇÃO QUE CONTROLA A BARRA DE TEMPO DO MODO DE JOGO COM TEMPO
    void controleBarraTempo()
    {
        if (jogarComTempo == true)     { barraTempo.SetActive (true); }

        percTempo = ((tempTime - tempoResponder) / tempoResponder) * -1;

        if (percTempo < 0) { percTempo = 0; }

        barraTempo.transform.localScale = new Vector3 (percTempo, 1, 1);
    }

    // FUNÇÃO RESPONSÁVEL POR CALCULAR A NOTA FINAL DO TESTE
    void    calcularNotaFinal()
    {
        testeFinalizado = true;
        notaFinal       = Mathf.RoundToInt(valorQuestao * qtdAcertos);              

//===================================================================================================================================

        notaPerguntas   = Mathf.RoundToInt(qtdRespondida + TInotaPerguntas);                                            //PAINEL RESULTADO
        notaAcertos     = Mathf.RoundToInt(qtdAcertos + TInotaAcertos);
        notaErros       = Mathf.RoundToInt (notaPerguntas - notaAcertos);
        notaPorcentagem = Mathf.RoundToInt (notaAcertos * porcentagem / notaPerguntas);
//===================================================================================================================================

//===================================================================================================================================
       
        PlayerPrefs.SetInt ("notaPerguntas_" + idTema.ToString(), (int)notaPerguntas);                                       //PAINEL RECORD
        PlayerPrefs.SetInt ("notaAcertos_" + idTema.ToString(), (int)notaAcertos);
        PlayerPrefs.SetInt ("notaErros_" + idTema.ToString(), (int)notaErros);
        PlayerPrefs.SetInt ("notaPorcentagem_" + idTema.ToString(), (int)notaPorcentagem);
//===================================================================================================================================

        if (notaFinal > PlayerPrefs.GetInt ("notaFinal_" + idTema.ToString())) 
        { 
            PlayerPrefs.SetInt ("notaFinal_" + idTema.ToString(), (int)notaFinal);
        }


        if(notaFinal == 10) { nEstrelas = 10; soundController.playVinheta(); }
        else if(notaFinal >= notaMin10Estrelas) { nEstrelas = 10; }
        else if(notaFinal >= notaMin9Estrelas) { nEstrelas = 9; }
        else if(notaFinal >= notaMin8Estrelas) { nEstrelas = 8; }
        else if(notaFinal >= notaMin7Estrelas) { nEstrelas = 7; }
        else if(notaFinal >= notaMin6Estrelas) { nEstrelas = 6; }
        else if(notaFinal >= notaMin5Estrelas) { nEstrelas = 5; }
        else if(notaFinal >= notaMin4Estrelas) { nEstrelas = 4; }
        else if(notaFinal >= notaMin3Estrelas) { nEstrelas = 3; }
        else if(notaFinal >= notaMin2Estrelas) { nEstrelas = 2; }
        else if(notaFinal >= notaMin1Estrela) { nEstrelas = 1; }

        notaFinalTxt.text = notaFinal.ToString ();
//===================================================================================================================================

        notaPerguntasTxt.text = notaPerguntas.ToString();                                                            //PAINEL RESULTADO
        notaAcertosTxt.text = notaAcertos.ToString();
        notaErrosTxt.text = notaErros.ToString ();
        notaPorcentagemTxt.text = notaPorcentagem.ToString ();
//===================================================================================================================================
      
        notaFinalTxt.color = corMensagem[nEstrelas];
       
        msg1Txt.text = mensagem1 [nEstrelas];
        msg1Txt.color = corMensagem [nEstrelas];
        msg2Txt.text = mensagem2 [nEstrelas];

        foreach (GameObject e in estrela) 
        {
            e.SetActive (false);
        }

        for (int i = 0; i < nEstrelas; i++) 
        {
            estrela [i].SetActive (true);
        }

        paineis [0].SetActive (false);
        paineis [1].SetActive (true);
    }

    // CORROUTINE QUE FAZ A ANIMAÇÃO DE PISCAR DO BOTÃO DA ALTERNATIVA CORRETA
    IEnumerator    mostrarAlternativaCorreta()
    {
        for (int i = 0; i < qtdPiscar; i++) 
        {
            botoes[idBtnCorreto].image.color = corAcerto;
            yield return new WaitForSeconds(0.2f);
            botoes[idBtnCorreto].image.color = Color.white;
            yield return new WaitForSeconds(0.2f);
        }

        foreach(Button b in botoes) 
        {
            b.image.color = Color.white;
        }

        exibindoCorreta = false;
        proximaPergunta();
    }
}




oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 6:49 pm

oilson escreveu:
recagonlei escreveu:De um modo mais simples você faria:
Declare o script que tem a variavel "qtdPerguntas" ex:

Código:
public NomeDoSeuScriptQueTemAvariavel m_questionAmmountScript;

Depois disso, você associa o script no inspector e ele estará declarado ao "modoJogo1"
Depois nessa parte:



Código:
[...]   
void calcularNotaFinal(){
    m_questionAmmount.totalPerguntas += m_questionAmmount.qtdPerguntas;
[...]



Dessa forma você terá a soma no método final e pronto!

Desculpe minha ignorância quanto a estes conhecimentos recagonlei, mas não compreendi direito. Vou te passar os script e se vc puder mostrar neles eu te agradeço pelo resto da vida, pois já tem mais de semana q não consigo dormir tentando achar uma solução para este problema.

Código:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class modoJogo1 : MonoBehaviour {

    [Header("Configuração dos Textos")]
    public    Image         perguntaIMG;
    public    Text          nomeTemaTxt, perguntaTxt, infoRespostaTxt, notaFinalTxt, msg1Txt, msg2Txt;

    [Header("Configuração dos Textos Alternativas")]
    public    Text         altAtxt;
    public    Text         altBtxt, altCtxt, altDtxt ;

    [Header("Configuração das Imagens Alternativas")]
    public    Image         altAimg;
    public    Image         altBimg, altCimg, altDimg;

    [Header("Configuração das Barras")]
    public    GameObject    barraProgresso;
    public    GameObject    barraTempo;

    [Header("Configuração dos Botões")]
    public    Button[]    botoes;
    public    Color       corAcerto, corErro;

    [Header("Configuração do Modo de Jogo")]
    public    bool         perguntasComIMG;
    public    bool         perguntasAleatorias, utilizarAlternativas, utilizarAlternativasIMG, jogarComTempo, mostarCorreta;
    public    float        tempoResponder;
    public    int          qtdPiscar;

    [Header("Configuração das Perguntas")]
    public    string[]    perguntas;
    public    Sprite[]    perguntasIMG;
    public    string[]    correta;
    public    int         qtdPerguntas;
    public    List<int>   listaPerguntas;

    [Header("Configuração das Alternativas")]
    public    string[]    alternativasA;
    public    string[]    alternativasB, alternativasC, alternativasD;

    [Header("Configuração das Alternativas IMG")]
    public    Sprite[]    alternativasAimg;
    public    Sprite[]    alternativasBimg, alternativasCimg, alternativasDimg;

    [Header("Configuração dos Painéis")]
    public    GameObject[]    paineis;
    public    GameObject[]    estrela;

    [Header("Configuração das Mensagens")]
    public    string[]        mensagem1;
    public    string[]        mensagem2;
    public    Color[]            corMensagem;

//===================================================================================================================================
    [Header("Configuração BTNs Resultado")]                                                                            //PAINEL RESULTADO
    public    Text        notaPerguntasTxt;                                                                            
    public    Text        notaAcertosTxt, notaErrosTxt, notaPorcentagemTxt;                   

//===================================================================================================================================
    private    int        TInotaPerguntas, TInotaAcertos;                                                                 //PAINEL SCHULT
//===================================================================================================================================
   
     private    int       porcentagem, notaPerguntas, notaAcertos, notaErros, notaPorcentagem;                            //PAINEL RESULTADO
//===================================================================================================================================

    private    int        idResponder, qtdAcertos, notaMin1Estrela, notaMin2Estrelas, notaMin3Estrelas, notaMin4Estrelas, notaMin5Estrelas, notaMin6Estrelas, notaMin7Estrelas, notaMin8Estrelas, notaMin9Estrelas, notaMin10Estrelas, nEstrelas, idTema, idBtnCorreto;
    private    float      qtdRespondida, percProgresso, percTempo, notaFinal, valorQuestao, tempTime;
    private    bool       exibindoCorreta, testeFinalizado;

    private    soundController    soundController;    


    // Use this for initialization

    void Start () {

        TInotaPerguntas = temaInfo.TInotaPerguntas;   print ("TInotaPerguntas " + TInotaPerguntas);
        TInotaAcertos   = temaInfo.TInotaAcertos;     print ("TInotaAcertos " + TInotaAcertos);

//===================================================================================================================================
    porcentagem = 100;                                                                                                 //PAINEL RESULTADO
//===================================================================================================================================

//===================================================================================================================================
       
        notaPerguntas    = PlayerPrefs.GetInt ("notaPerguntas");                                                            //PAINEL RECORD
        notaAcertos      = PlayerPrefs.GetInt ("notaAcertos");
        notaErros        = PlayerPrefs.GetInt ("notaErros");
        notaPorcentagem  = PlayerPrefs.GetInt ("notaPorcentagem");
//===================================================================================================================================

        soundController = FindObjectOfType(typeof(soundController)) as soundController;

        idTema = PlayerPrefs.GetInt("idTema");
        notaMin1Estrela = PlayerPrefs.GetInt("notaMin1Estrela");
        notaMin2Estrelas = PlayerPrefs.GetInt("notaMin2Estrelas");
        notaMin3Estrelas = PlayerPrefs.GetInt("notaMin3Estrelas");
        notaMin4Estrelas = PlayerPrefs.GetInt("notaMin4Estrelas");
        notaMin5Estrelas = PlayerPrefs.GetInt("notaMin5Estrelas");
        notaMin6Estrelas = PlayerPrefs.GetInt("notaMin6Estrelas");
        notaMin7Estrelas = PlayerPrefs.GetInt("notaMin7Estrelas");
        notaMin8Estrelas = PlayerPrefs.GetInt("notaMin8Estrelas");
        notaMin9Estrelas = PlayerPrefs.GetInt("notaMin9Estrelas");
        notaMin10Estrelas = PlayerPrefs.GetInt("notaMin10Estrelas");

        nomeTemaTxt.text = PlayerPrefs.GetString("nomeTema");

        barraTempo.SetActive (false);

        if (perguntasComIMG == true) 

        {
        montarListaPerguntasIMG();
        }
        else 
        {
        montarListaPerguntas ();
        }
        progressaoBarra();
       
       controleBarraTempo();

        paineis [0].SetActive (true);
        paineis [1].SetActive (false);
    }


    // Update is called once per frame

    void Update () {

        if (jogarComTempo == true && exibindoCorreta == false && testeFinalizado == false)
        {
            tempTime += Time.deltaTime;

            controleBarraTempo();

            if (tempTime >= tempoResponder) { proximaPergunta(); }
        }
    }


    // ESTA FUNÇÃO É A RESPONSÁVEL POR MONTAR A LISTA DE PERGUNTAS A SEREM RESPONDIDAS

    public    void        montarListaPerguntas()
    {

        // FAZ A VALIDADE DE PERGUNTAS PARA O TESTE EM RELAÇÃO A QUANTIDADE DE PERGUNTAS EXISTENTES
        if(qtdPerguntas > perguntas.Length) { qtdPerguntas = perguntas.Length;    }
        valorQuestao = 10 / (float)qtdPerguntas;

        // EM CASO DE JOGO COM PERGUNTAS ALEATÓRIAS
        if(perguntasAleatorias == true) 
        {
            bool    addPerguntas = true;
            while(listaPerguntas.Count < qtdPerguntas) 
                {
                addPerguntas = true;

                int rand = Random.Range (0, perguntas.Length);

                foreach (int idP    in    listaPerguntas)

                {
                    if(idP == rand) 
                    {
                        addPerguntas = false;
                    }
                }
                if(addPerguntas == true) {    listaPerguntas.Add(rand);}
            }


            } // EM CASO DE MODO DE JOGO ONDE AS PERGUNTAS NÃO SÃO ALEATÓRIAS
        else
        {
            for (int i = 0; i < qtdPerguntas; i++) 
                {
                listaPerguntas.Add (i);
                }
        }

        perguntaTxt.text = perguntas [listaPerguntas [idResponder]];

        if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 
        {
            altAtxt.text = alternativasA [listaPerguntas [idResponder]];
            altBtxt.text = alternativasB [listaPerguntas [idResponder]];
            altCtxt.text = alternativasC [listaPerguntas [idResponder]];
            altDtxt.text = alternativasD [listaPerguntas [idResponder]];
        } 
        else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
        {    
            altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
            altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
            altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
            altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
        }
    }

    // ESTA FUNÇÃO É A RESPONSÁVEL POR MONTAR A LISTA DE PERGUNTAS COM IMAGEM A SEREM RESPONDIDAS
    public    void        montarListaPerguntasIMG()
    {

        // FAZ A VALIDADE DE PERGUNTAS PARA O TESTE EM RELAÇÃO A QUANTIDADE DE PERGUNTAS EXISTENTES
        if(qtdPerguntas > perguntasIMG.Length) { qtdPerguntas = perguntasIMG.Length;    }    

        valorQuestao = 10 / (float)qtdPerguntas;

        // EM CASO DE JOGO COM PERGUNTAS ALEATÓRIAS
        if(perguntasAleatorias == true) 
        {
            bool    addPerguntas = true;

            while (listaPerguntas.Count < qtdPerguntas) 
            {
                addPerguntas = true;

                int rand = Random.Range (0, perguntasIMG.Length);

                foreach (int idP    in    listaPerguntas)
                {
                    if(idP == rand) 
                    {
                        addPerguntas = false;
                    }
                }
                if(addPerguntas == true) {    listaPerguntas.Add(rand);}
            }
              

        } // EM CASO DE MODO DE JOGO ONDE AS PERGUNTAS NÃO SÃO ALEATÓRIAS
        else
        {
            for (int i = 0; i < qtdPerguntas; i++) 
                {
                listaPerguntas.Add (i);
                }
        }

        perguntaIMG.sprite = perguntasIMG[listaPerguntas[idResponder]];

        if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 
        {
            altAtxt.text = alternativasA [listaPerguntas [idResponder]];
            altBtxt.text = alternativasB [listaPerguntas [idResponder]];
            altCtxt.text = alternativasC [listaPerguntas [idResponder]];
            altDtxt.text = alternativasD [listaPerguntas [idResponder]];
        } 
        else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
        {    
            altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
            altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
            altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
            altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
        }
    }

        // ESTA FUNÇÃO É RESPONSÁVEL POR PROCESSAR A RESPOSTA DADA PELO JOGADOR

        public    void    responder(string alternativa)
    {


        // VERIFICA SE NO MODO DE JOGO ESTÁ SETADO PARA EXIBIR AS ALTERNATIVAS CORRETAS, CASO ESTEJA, ELE RETORNA EM CASO DE MAIS DE UM CLIQUE
        if(exibindoCorreta == true) { return; }

        // FAZ A VERIFICAÇÃO SE A RESPOSTA ESTÁ CORRETA E INCREMENTA UM NA QUANTIDADE DE ACERTOS
        if (correta [listaPerguntas [idResponder]] == alternativa)
        {
            qtdAcertos += 1;
            soundController.playAcerto();
        }
       else
        {
           soundController.playErro();
        }

        // EM CASO DO MODO DE JOGO COM EXIBIÇÃO DA CORRETA, INDICA QUAL BOTÃO CONTÉM A RESPOSTA CORRETA

        switch(correta[listaPerguntas[idResponder]]) 
        {
        case "A":
            idBtnCorreto = 0;
            break;
        case "B":
            idBtnCorreto = 1;
            break;
        case "C":
            idBtnCorreto = 2;
            break;
        case "D":
            idBtnCorreto = 3;
            break;
        }

        // EM CASO DE MODO DE JOGO EXIBINDO A RESPOSTA CORRETA, ALTERA A COR DOS BOTÕES E FAZ A CHAMADA DA FUNÇÃO DE ANIMAÇÃO

        if (mostarCorreta == true) 
        {
            foreach(Button b in botoes) 
            {
                b.image.color = corErro;
            }

            exibindoCorreta = true;

            botoes[idBtnCorreto].image.color = corAcerto;

            StartCoroutine("mostrarAlternativaCorreta");
        } 
        else // CASO O MODO DE JOGO NÃO ESTEJA PARA EXIBIR A CORRETA, CHAMA A PRÓXIMA PERGUNTA     
        {
        proximaPergunta();
        }
    }
     

    // FUNÇÃO RESPONSÁVEL POR PROCESSAR AS PERGUNTAS, FAZ A CHAMADA DE UMA NOVA OU ENCERRA O TESTE

    public    void        proximaPergunta()
    {
        idResponder += 1;
        tempTime = 0;

        // PAINÉIS DAS PERGUNTAS E RESPOSTAS
        paineis [2].SetActive (true);
        paineis [3].SetActive (false); 

        // FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        progressaoBarra ();
  
        EventSystem.current.SetSelectedGameObject(null);

        // CASO AINDA HAJA PERGUNTAS A SEREM RESPONDIDAS, PROCESSA A NOVA PERGUNTA
        if (idResponder < listaPerguntas.Count)
        {
            if(perguntasComIMG == true) 
            {
                perguntaIMG.sprite = perguntasIMG[listaPerguntas[idResponder]];
            } 
            else 
            {
                perguntaTxt.text = perguntas [listaPerguntas [idResponder]];
            }
            if (utilizarAlternativas == true && utilizarAlternativasIMG == false) 

            {
                altAtxt.text = alternativasA [listaPerguntas [idResponder]];
                altBtxt.text = alternativasB [listaPerguntas [idResponder]];
                altCtxt.text = alternativasC [listaPerguntas [idResponder]];
                altDtxt.text = alternativasD [listaPerguntas [idResponder]];
            } 
            else     if(utilizarAlternativas == true && utilizarAlternativasIMG == true) 
            {    
                altAimg.sprite = alternativasAimg[listaPerguntas [idResponder]];
                altBimg.sprite = alternativasBimg[listaPerguntas [idResponder]];
                altCimg.sprite = alternativasCimg[listaPerguntas [idResponder]];
                altDimg.sprite = alternativasDimg[listaPerguntas [idResponder]];
            }
       }
        else // CASO O TESTE TENHA SIDO FINALIZADO, CHAMA A FUNÇÃO QUE CALCULA A NOTA FINAL
        {
            calcularNotaFinal();
        }
    }

    // FUNÇÃO QUE CONTROLA A BARRA DE PROGRESSO DO JOGO
    void    progressaoBarra()
    {
        infoRespostaTxt.text = "Respondeu " + qtdRespondida + " de " + listaPerguntas.Count + " perguntas";
        percProgresso = qtdRespondida / listaPerguntas.Count;
        barraProgresso.transform.localScale = new    Vector3 (percProgresso, 1, 1);
    }

    // FUNÇÃO QUE CONTROLA A BARRA DE TEMPO DO MODO DE JOGO COM TEMPO
    void controleBarraTempo()
    {
        if (jogarComTempo == true)     { barraTempo.SetActive (true); }

        percTempo = ((tempTime - tempoResponder) / tempoResponder) * -1;

        if (percTempo < 0) { percTempo = 0; }

        barraTempo.transform.localScale = new Vector3 (percTempo, 1, 1);
    }

    // FUNÇÃO RESPONSÁVEL POR CALCULAR A NOTA FINAL DO TESTE
    void    calcularNotaFinal()
    {
        testeFinalizado = true;
        notaFinal       = Mathf.RoundToInt(valorQuestao * qtdAcertos);              

//===================================================================================================================================

        notaPerguntas   = Mathf.RoundToInt(qtdRespondida + TInotaPerguntas);                                            //PAINEL RESULTADO
        notaAcertos     = Mathf.RoundToInt(qtdAcertos + TInotaAcertos);
        notaErros       = Mathf.RoundToInt (notaPerguntas - notaAcertos);
        notaPorcentagem = Mathf.RoundToInt (notaAcertos * porcentagem / notaPerguntas);
//===================================================================================================================================

//===================================================================================================================================
       
        PlayerPrefs.SetInt ("notaPerguntas_" + idTema.ToString(), (int)notaPerguntas);                                       //PAINEL RECORD
        PlayerPrefs.SetInt ("notaAcertos_" + idTema.ToString(), (int)notaAcertos);
        PlayerPrefs.SetInt ("notaErros_" + idTema.ToString(), (int)notaErros);
        PlayerPrefs.SetInt ("notaPorcentagem_" + idTema.ToString(), (int)notaPorcentagem);
//===================================================================================================================================

        if (notaFinal > PlayerPrefs.GetInt ("notaFinal_" + idTema.ToString())) 
        { 
            PlayerPrefs.SetInt ("notaFinal_" + idTema.ToString(), (int)notaFinal);
        }


        if(notaFinal == 10) { nEstrelas = 10; soundController.playVinheta(); }
        else if(notaFinal >= notaMin10Estrelas) { nEstrelas = 10; }
        else if(notaFinal >= notaMin9Estrelas) { nEstrelas = 9; }
        else if(notaFinal >= notaMin8Estrelas) { nEstrelas = 8; }
        else if(notaFinal >= notaMin7Estrelas) { nEstrelas = 7; }
        else if(notaFinal >= notaMin6Estrelas) { nEstrelas = 6; }
        else if(notaFinal >= notaMin5Estrelas) { nEstrelas = 5; }
        else if(notaFinal >= notaMin4Estrelas) { nEstrelas = 4; }
        else if(notaFinal >= notaMin3Estrelas) { nEstrelas = 3; }
        else if(notaFinal >= notaMin2Estrelas) { nEstrelas = 2; }
        else if(notaFinal >= notaMin1Estrela) { nEstrelas = 1; }

        notaFinalTxt.text = notaFinal.ToString ();
//===================================================================================================================================

        notaPerguntasTxt.text = notaPerguntas.ToString();                                                            //PAINEL RESULTADO
        notaAcertosTxt.text = notaAcertos.ToString();
        notaErrosTxt.text = notaErros.ToString ();
        notaPorcentagemTxt.text = notaPorcentagem.ToString ();
//===================================================================================================================================
      
        notaFinalTxt.color = corMensagem[nEstrelas];
       
        msg1Txt.text = mensagem1 [nEstrelas];
        msg1Txt.color = corMensagem [nEstrelas];
        msg2Txt.text = mensagem2 [nEstrelas];

        foreach (GameObject e in estrela) 
        {
            e.SetActive (false);
        }

        for (int i = 0; i < nEstrelas; i++) 
        {
            estrela [i].SetActive (true);
        }

        paineis [0].SetActive (false);
        paineis [1].SetActive (true);
    }

    // CORROUTINE QUE FAZ A ANIMAÇÃO DE PISCAR DO BOTÃO DA ALTERNATIVA CORRETA
    IEnumerator    mostrarAlternativaCorreta()
    {
        for (int i = 0; i < qtdPiscar; i++) 
        {
            botoes[idBtnCorreto].image.color = corAcerto;
            yield return new WaitForSeconds(0.2f);
            botoes[idBtnCorreto].image.color = Color.white;
            yield return new WaitForSeconds(0.2f);
        }

        foreach(Button b in botoes) 
        {
            b.image.color = Color.white;
        }

        exibindoCorreta = false;
        proximaPergunta();
    }
}



 Script temaInfo.
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class temaInfo : MonoBehaviour {

    private        soundController    soundController;
    private        temaScene        temaScene;

//=================================================================================================================================
    public static int TInotaPerguntas;                                                                                      //PAINEL SCKUL
    public static int TInotaAcertos;
//=================================================================================================================================

    [Header("Configuração do Tema")]
    public    int        idTema;
    public    string     nomeTema;
    public    Color    corTema;
    public    bool    requerNotaMinima;
    public    int     notaMinimaNecessaria;

    [Header("Configuração das Estrelas")]
    public    int     notaMin1Estrela;
    public    int     notaMin2Estrelas, notaMin3Estrelas, notaMin4Estrelas, notaMin5Estrelas, notaMin6Estrelas, notaMin7Estrelas, notaMin8Estrelas, notaMin9Estrelas;

//===================================================================================================================================
    private    int     notaAcertos;                                                                                        //PAINEL RECORD
    private    int     notaPerguntas, notaErros, notaPorcentagem;

//===================================================================================================================================
    [Header("Configuração do Botão")]
    public    Text            idTemaTxt;
    public    GameObject[]    estrela;
    private   int             notaFinal;

//===================================================================================================================================
    public    Text    notaAcertosTxt, notaPerguntasTxt, notaErrosTxt, notaPorcentagemTxt;                                      //PAINEL RECORD
//===================================================================================================================================
    private    Button             btnTema;


        // Use this for initialization

    void Start () {

//=================================================================================================================================

        TInotaPerguntas = PlayerPrefs.GetInt("notaPerguntas_" + idTema.ToString());                                       //PAINEL SCHULT
        TInotaAcertos     = PlayerPrefs.GetInt("notaAcertos_" + idTema.ToString());
//=================================================================================================================================

        soundController = FindObjectOfType(typeof(soundController)) as soundController;

        notaFinal = PlayerPrefs.GetInt("notaFinal_" + idTema.ToString());
        temaScene = FindObjectOfType (typeof(temaScene)) as temaScene;
        idTemaTxt.text = idTema.ToString();
//===================================================================================================================================

        notaAcertos             = PlayerPrefs.GetInt("notaAcertos_" + idTema.ToString());                                //PAINEL RECORD
        notaAcertosTxt.text     = notaAcertos.ToString();
        notaPerguntas           = PlayerPrefs.GetInt("notaPerguntas_" + idTema.ToString());

        notaPerguntasTxt.text     = notaPerguntas.ToString();
        notaErros                 = PlayerPrefs.GetInt("notaErros_" + idTema.ToString());                                            
        notaErrosTxt.text         = notaErros.ToString();
        notaPorcentagem           = PlayerPrefs.GetInt("notaPorcentagem_" + idTema.ToString());                                            
        notaPorcentagemTxt.text   = notaPorcentagem.ToString();
//===================================================================================================================================

        estrelas(); // CHAMA O MÉTODO ESTRELAS QUE CALCULA QUANTAS ESTRELAS GANHAMOS

        btnTema = GetComponent<Button>();

        verificarNotaMinima();
    }

    void    verificarNotaMinima()
    {
        btnTema.interactable = false;

        if(requerNotaMinima == true) 
        {
            int    notaTemaAnterior = PlayerPrefs.GetInt("notaFinal_" + (idTema - 1).ToString());
           
        if (notaTemaAnterior >= notaMinimaNecessaria) 
            {
                btnTema.interactable = true;    
            }
        } 
        else 
        {
            btnTema.interactable = true;
        }
    }

    public    void    selecionarTema()
    {
        soundController.playButton();

        temaScene.nomeTemaTxt.text = nomeTema;
        temaScene.nomeTemaTxt.color = corTema;

        PlayerPrefs.SetInt("idTema", idTema);                
        PlayerPrefs.SetString("nomeTema", nomeTema);
        PlayerPrefs.SetInt("notaMin1Estrela", notaMin1Estrela);
        PlayerPrefs.SetInt("notaMin2Estrelas", notaMin2Estrelas);
        PlayerPrefs.SetInt("notaMin3Estrelas", notaMin3Estrelas);
        PlayerPrefs.SetInt("notaMin4Estrelas", notaMin4Estrelas);
        PlayerPrefs.SetInt("notaMin5Estrelas", notaMin5Estrelas);
        PlayerPrefs.SetInt("notaMin6Estrelas", notaMin6Estrelas);
        PlayerPrefs.SetInt("notaMin7Estrelas", notaMin7Estrelas);
        PlayerPrefs.SetInt("notaMin8Estrelas", notaMin8Estrelas);
        PlayerPrefs.SetInt("notaMin9Estrelas", notaMin9Estrelas);

        temaScene.btnJogar.interactable = true;
    }
    public    void    estrelas()
    {
        foreach (GameObject e in estrela) 
        {
           e.SetActive (false);
        }
        int    nEstrelas = 0;


        if(notaFinal == 10) { nEstrelas = 10; }
        else if(notaFinal >= notaMin9Estrelas) { nEstrelas = 9; }
        else if(notaFinal >= notaMin8Estrelas) { nEstrelas = 8; }
        else if(notaFinal >= notaMin7Estrelas) { nEstrelas = 7; }
        else if(notaFinal >= notaMin6Estrelas) { nEstrelas = 6; }
        else if(notaFinal >= notaMin5Estrelas) { nEstrelas = 5; }
        else if(notaFinal >= notaMin4Estrelas) { nEstrelas = 4; }
        else if(notaFinal >= notaMin3Estrelas) { nEstrelas = 3; }
        else if(notaFinal >= notaMin2Estrelas) { nEstrelas = 2; }
        else if(notaFinal >= notaMin1Estrela) { nEstrelas = 1; }

        for (int i = 0; i < nEstrelas; i++) 
        {
            estrela [i].SetActive (true);
        }
    }
      

}




oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Seg Nov 20, 2017 7:28 pm

Na parte onde está:


Código:
// FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        totalAmmount += 1;



Coloque a variável junto com a quantidade de perguntas respondidas e apenas não zere ela, que conforme tu for jogando ela vai acumulando...
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 9:41 pm

recagonlei escreveu:Na parte onde está:


Código:
// FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        totalAmmount += 1;



Coloque a variável junto com a quantidade de perguntas respondidas e apenas não zere ela, que conforme tu for jogando ela vai acumulando...

Desculpa mano sou muito noob ainda "apenas não zere ela", como faço isso. Não entendi! Sad Sad

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Seg Nov 20, 2017 9:52 pm

oilson escreveu:
recagonlei escreveu:Na parte onde está:


Código:
// FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        totalAmmount += 1;



Coloque a variável junto com a quantidade de perguntas respondidas e apenas não zere ela, que conforme tu for jogando ela vai acumulando...

Desculpa mano sou muito noob ainda "apenas não zere ela", como faço isso. Não entendi! Sad Sad

Essa variável qtdRespondida é zerada toda vez que inicia de novo, não é? Não volta no valor zero? Só não fazer o mesmo com o outro valor, que no caso não é alterado caso não for mexido, apenas deixe-o assim...
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Seg Nov 20, 2017 10:55 pm

recagonlei escreveu:
oilson escreveu:
recagonlei escreveu:Na parte onde está:


Código:
// FUNÇÃO RESPONSÁVEL POR PROCESSAR A BARRA infoResposta(respondendo 1 de 25 perguntas).
        qtdRespondida += 1;
        totalAmmount += 1;



Coloque a variável junto com a quantidade de perguntas respondidas e apenas não zere ela, que conforme tu for jogando ela vai acumulando...

Desculpa mano sou muito noob ainda "apenas não zere ela", como faço isso. Não entendi! Sad Sad

Essa variável qtdRespondida é zerada toda vez que inicia de novo, não é? Não volta no valor zero? Só não fazer o mesmo com o outro valor, que no caso não é alterado caso não for mexido, apenas deixe-o assim...
Todas as duas estão zerando e começando do zero de novo. Toda vez que vou jogar um outro tema ou fecho o jogo e começo de novo.

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Seg Nov 20, 2017 11:22 pm

Você deve declarar essa variável em um script que seja o principal, que será declarado apenas uma vez, não em cada tema... E depois acessado pelos temas que atualizam o valor e depois salve com o PlayerPrefs
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Ter Nov 21, 2017 12:58 pm

recagonlei escreveu:Você deve declarar essa variável em um script que seja o principal, que será declarado apenas uma vez, não em cada tema... E depois acessado pelos temas que atualizam o valor e depois salve com o PlayerPrefs
 Maninho me diz uma coisa vc sabe se tem como na hora de salvar as informações com o PlayerPrefs. Eu pedir para ele verificar se tem algum valor lá, se tiver ele deve adicionar o valor ao que está lá e só depois grava?

Tipo isso:
Código:
 totalPerguntas = Mathf.RoundToInt(qtdRespondida); 

        if (totalPerguntas =< PlayerPrefs.GetInt ("totalPerguntas_" + idTema.ToString())) 
      //se totalPerguntas for igual ou menor que o valor que está salvo em totalPerguntas_
        { 
        totalPerguntas = PlayerPrefs.GetInt "totalPerguntas_" + qtdRespondida);
     //totalPerguntas será igual o valor que está salvo em PlayerPrefs.GetInt "totalPerguntas_" mais a qtdRespondida.

    //agora salve este calculo em:
         PlayerPrefs.SetInt ("totalPerguntas" + idTema.ToString(), (int)totalPerguntas);
        }


oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por recagonlei Ter Nov 21, 2017 5:32 pm

oilson escreveu:
recagonlei escreveu:Você deve declarar essa variável em um script que seja o principal, que será declarado apenas uma vez, não em cada tema... E depois acessado pelos temas que atualizam o valor e depois salve com o PlayerPrefs
 Maninho me diz uma coisa vc sabe se tem como na hora de salvar as informações com o PlayerPrefs. Eu pedir para ele verificar se tem algum valor lá, se tiver ele deve adicionar o valor ao que está lá e só depois grava?

Tipo isso:
Código:
 totalPerguntas = Mathf.RoundToInt(qtdRespondida); 

        if (totalPerguntas =< PlayerPrefs.GetInt ("totalPerguntas_" + idTema.ToString())) 
      //se totalPerguntas for igual ou menor que o valor que está salvo em totalPerguntas_
        { 
        totalPerguntas = PlayerPrefs.GetInt "totalPerguntas_" + qtdRespondida);
     //totalPerguntas será igual o valor que está salvo em PlayerPrefs.GetInt "totalPerguntas_" mais a qtdRespondida.

    //agora salve este calculo em:
         PlayerPrefs.SetInt ("totalPerguntas" + idTema.ToString(), (int)totalPerguntas);
        }


Faça o calculo dessa maneira:

Código:
        totalPerguntas = PlayerPrefs.GetInt ("totalPerguntas_" + idTema.ToString()) + qtdRespondida);
recagonlei
recagonlei
MembroAvançado

Masculino PONTOS : 3386
REPUTAÇÃO : 185
Idade : 103
Áreas de atuação : ~Programação (C#, HTML, CSS3, Python)
~Modelagem
~Produtor musical
~Ex instrutor Schultz Games
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# WvDYdlf

http://stwodio.ga

Ir para o topo Ir para baixo

Resolvido Re: [RESOLVIDO] Acessar um valor de outro Script em c#

Mensagem por oilson Qua Nov 22, 2017 9:21 pm

MUITO obrigado galera pelo apoio, principalmente para o ""recagonlei"" pela paciência que teve, segui as dicas e consegui resolver o problema. Vc são d+.... Se fossem mulheres eu daria um beijo em cada uma de gratis....kkkkk Laughing Laughing Laughing, mas como são machos perderam... Quem sabe na próxima vida.

oilson
Membro
Membro

PONTOS : 2362
REPUTAÇÃO : 2
Respeito as regras : [RESOLVIDO] Acessar um valor de outro Script em c# 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