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:
Arquivo jar não encontrado
OBJETO sendo detruído imediatamente mesmo com o...
Meu site de Modelos 3D
DÚVIDA - ao pressionar andar, o player parece cancelar a gravidade (VÍDEO)
[RESLVIDO] Unity - "transform.SetParent()" em 2 objetos move outros objetos
Dúvida sobre resoluções de tela
Duvida na AppleStore
pressionando a tecla abaixar, o player continua andando abaixado (2D).
Fala Pessoal! Saiu mais um trailer do jogo que venho desenvolvendo
[RESOLVIDO] passar de uma animação para a outra rapidamente pelo animator
Unity - PlayerPrefs n são apagados no Celular mesmo Reiniciando o Aparelho
Modeloes 3D do Site Sketchfab
Blender - Modelos Importados transparentes
[PEDIDO]Cololar jogo na loja play store
Como pegar um objeto e fazer ele aparecer em forma de Estamina no Inspector
Procuro Pessoas para Projeto
Algum tutorial de como fazer um app que receba fotos e q fiqu armazenado no
Procuro um time para um jogo de corrida
[RESOLVIDO] Botões de Ataque e Pular carrega duas animações ao mesmo tempo
DEATH ISLAND 0.2.5 SURVIVAL GAME 4 ANOS EM DESENVOLVIMENTO
Player travando na colisão com o chão Unity 2D
Como resolver vazamento de memoria?
Instanciar uma classe nos atributos de outra classe é uma boa prática?
Jogo multiplayer com steam
Unity - Renderizção com Câmera Jogo Lento e travando. Alguém pfv?!
Mini Quarteirão com Texturas 3D VENDA
Controle do braço e cabeça no fps
PRECISO FAZER QUE MEU GAME FIQUE ONLINE
Ativar o objeto correto em Clones.
[TUTORIAL] Como fazer um interruptor simples (Unity 2018)
Preciso de 20 testadores jogo mobile
O Labirinto II - Trailer Oficial
Ue posso divulgar meu game que ainda esta em criaçao aqui no forum?
[RESOLVIDO] Inverter o sprite para a direçao que o personagem anda.
Set Active não a reabiilitado C#
Build APK VR Google Cardbord com video.
[PROGRAMADOR FREELA] $$
Mais Um jogo!
Collider (mesh?)
[TUTORIAL] Deformar mesh com batidas (para objetos, veículos, etc)
WW2 Low poly Pack (Free)
Procuro freelancer
Novo Teaser do jogo Dark Age
Unity Admob Erro
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
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
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
Qua Out 23, 2024 8:39 pm
Sex Out 18, 2024 4:05 pm
Dom Out 06, 2024 6:02 pm
Sáb Out 05, 2024 6:37 am
Qui Out 03, 2024 10:09 pm
Seg Set 30, 2024 9:25 am
Sáb Set 28, 2024 11:39 am
Seg Set 09, 2024 7:33 am
Dom Set 08, 2024 10:08 pm
Ter Set 03, 2024 11:59 am
Qua Ago 28, 2024 7:45 pm
Qua Ago 28, 2024 7:18 pm
Qua Ago 28, 2024 8:34 am
Dom Ago 25, 2024 8:37 pm
Sáb Ago 24, 2024 1:58 pm
Sex Ago 23, 2024 3:30 pm
Sex Ago 23, 2024 3:23 pm
Qua Ago 21, 2024 5:48 pm
Dom Ago 18, 2024 8:51 pm
Sex Ago 16, 2024 12:59 pm
Qua Ago 14, 2024 10:57 am
Sáb Ago 10, 2024 8:03 pm
Sex Ago 09, 2024 7:37 pm
Dom Ago 04, 2024 4:41 pm
Dom Ago 04, 2024 3:16 pm
Qui Jul 25, 2024 2:48 pm
Dom Jul 21, 2024 7:07 pm
Dom Jul 21, 2024 12:07 am
Sáb Jul 13, 2024 12:33 am
Qui Jun 27, 2024 5:49 pm
Qui Jun 20, 2024 12:30 pm
Dom Jun 09, 2024 7:43 pm
Dom Jun 09, 2024 2:16 pm
Seg Jun 03, 2024 11:39 am
Seg maio 27, 2024 12:45 pm
Seg maio 20, 2024 9:01 pm
Dom maio 19, 2024 3:08 pm
Sáb maio 18, 2024 11:46 am
Sáb maio 11, 2024 8:55 am
Qui maio 09, 2024 11:33 pm
Seg Abr 29, 2024 9:34 pm
Qui Abr 25, 2024 3:34 pm
Seg Abr 22, 2024 5:15 pm
Seg Abr 15, 2024 12:23 pm
Seg Abr 08, 2024 9:27 pm
Seg Abr 08, 2024 8:01 am
Sáb Abr 06, 2024 8:05 pm
Qui Abr 04, 2024 11:34 pm
Qui Abr 04, 2024 11:13 pm
Sex Mar 22, 2024 2:41 pm
Dom Mar 10, 2024 2:30 pm
Sex Mar 01, 2024 1:27 pm
Qui Fev 22, 2024 9:57 pm
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 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



































































































[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 : 2609
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 : 3505
REPUTAÇÃO : 155
Idade : 42
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 : 3562
REPUTAÇÃO : 211
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 : 5241
REPUTAÇÃO : 507
Idade : 24
Á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 : 2609
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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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 : 3633
REPUTAÇÃO : 185
Idade : 104
Á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 : 2609
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