[RESOLVIDO] Adaptar o script para mostrar o erro
5 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Adaptar o script para mostrar o erro
Olá, boa (manhã / tarde / noite)
Tenho um script de respostas que adiciona 1 acerto quando a resposta é a certa, mas, além disso, quero que ele mostre de alguma forma qual foi a opção correta caso o jogador clique numa errada. Preferencialmente, ficando o botão da resposta certa verde, e o botão que ele clicou ficar vermelho, em caso de erro.
Logica do que eu estou pedindo:
Caso não tenha como fazer esse sistema acima, peço um que ao menos mostre num texto a verdadeira resposta correta, em caso de erro.
Alguém pode me ajudar com isso?
Obrigado à quem tentar ajudar de qualquer forma. :D
Tenho um script de respostas que adiciona 1 acerto quando a resposta é a certa, mas, além disso, quero que ele mostre de alguma forma qual foi a opção correta caso o jogador clique numa errada. Preferencialmente, ficando o botão da resposta certa verde, e o botão que ele clicou ficar vermelho, em caso de erro.
Logica do que eu estou pedindo:
- Código:
Se acertar {
fazer o botão ficar verde
esperar alguns poucos segundos
e ir pra próxima pergunta }
Se errar {
fazer o botão que clicou ficar vermelho
e o da resposta certa ficar verde
esperar alguns poucos segundos
e ir pra próxima pergunta}
Caso não tenha como fazer esse sistema acima, peço um que ao menos mostre num texto a verdadeira resposta correta, em caso de erro.
Alguém pode me ajudar com isso?
- Código:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;
public class responder5 : MonoBehaviour {
public int idTema;
public Text pergunta;
public Text respostaA;
public Text respostaB;
public Text respostaC;
public Text respostaD;
public Text infoRespostas;
public string[] perguntas; // armazena todas as perguntas
public string[] corretas; // armazena as alternativas corretas
public string[] alternativaA; // armazena todas as alternativas A
public string[] alternativaB; // armazena todas as alternativas A
public string[] alternativaC; // armazena todas as alternativas A
public string[] alternativaD; // armazena todas as alternativas A
private int idPergunta;
private float acertos;
private float questoes;
private float media;
private int notaFinal;
// Use this for initialization
void Start () {
idTema = PlayerPrefs.GetInt ("idTema");
idPergunta = 0;
questoes = perguntas.Length;
acertos = 0;
pergunta.text = perguntas [idPergunta];
respostaA.text = alternativaA [idPergunta];
respostaB.text = alternativaB [idPergunta];
respostaC.text = alternativaC [idPergunta];
respostaD.text = alternativaD [idPergunta];
infoRespostas.text = "Rspondendo " + (+idPergunta + 1).ToString () + " de " + questoes.ToString () + " perguntas.";
}
public void resposta(string alternativa)
{
if (alternativa == "A")
{
if(alternativaA[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
else if (alternativa == "B")
{
if(alternativaB[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
else if (alternativa == "C")
{
if(alternativaC[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
else if (alternativa == "D")
{
if(alternativaD[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
proximaPergunta ();
}
void proximaPergunta()
{
idPergunta += 1;
if (idPergunta <= (questoes - 1))
{
pergunta.text = perguntas [idPergunta];
respostaA.text = alternativaA [idPergunta];
respostaB.text = alternativaB [idPergunta];
respostaC.text = alternativaC [idPergunta];
respostaD.text = alternativaD [idPergunta];
infoRespostas.text = "Respondendo " + (+idPergunta + 1).ToString () + " de " + questoes.ToString () + " perguntas.";
}
else
{
// oque fazer se terminar as perguntas
media = 10 *(acertos / questoes); // calcula a media com base no percentual de acertos
notaFinal = Mathf.RoundToInt(media); // arredonda a media para o inteiro, seguindo a regra da matematica.
if(notaFinal > PlayerPrefs.GetInt("notaFinal"+idTema.ToString()))
{
PlayerPrefs.SetInt("notaFinal"+idTema.ToString(), notaFinal);
PlayerPrefs.SetInt("acertos"+idTema.ToString(), (int) acertos);
PlayerPrefs.SetInt("questoes"+idTema.ToString(), (int) questoes);
}
PlayerPrefs.SetInt("notaFinalTemp"+idTema.ToString(), notaFinal);
PlayerPrefs.SetInt("acertosTemp"+idTema.ToString(), (int) acertos);
PlayerPrefs.SetInt("questoesTemp"+idTema.ToString(), (int) questoes);
SceneManager.LoadScene("notaFinal");
}
}
}
Obrigado à quem tentar ajudar de qualquer forma. :D
Última edição por dstaroski em Qua Fev 21, 2018 2:11 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
Ah cara é simples vc simplesmente pega uma variavel string publica no inspector e faz um if pra se estiver errada um texto qualquer na tela mostre o que esta na string flw! ,se nao entendeu tiver mais alguma coisa ou mais detalhes a respeito chama ae
fabriciorsz34- Avançado
- PONTOS : 3337
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
Sim, eu acabei estudando essa possibilidade mais tarde. E sei como fazer, obrigado.fabriciorsz34 escreveu:Ah cara é simples vc simplesmente pega uma variavel string publica no inspector e faz um if pra se estiver errada um texto qualquer na tela mostre o que esta na string flw! ,se nao entendeu tiver mais alguma coisa ou mais detalhes a respeito chama ae
Mas, tem algum jeito de eu fazer a primeira opção?
Eu até tentei, mas não sei o que devo acessar pra mudar a cor do botão.
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
você quer mudar apenas a cor do texto ou a cor de algum botão UI também? por que não tem nenhum Button no código.
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
- Código:
public image botao;
Void Update(){
if (Input.GetButtonDown("w")){
botao.color.Color32 = red;
}
}
fabriciorsz34- Avançado
- PONTOS : 3337
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
fabriciorsz34 escreveu:Esse é um exemplo adapte o a seu uso mas é algo semelhante pode ser que tenha erros nesse script pq eu fiz no cel mas é entorno dissodo a variavel botao jogue a imagem do botao e pronto ao apertar w por exemplo ele muda de cor xD mals pelos erros serio
- Código:
public image botao;
Void Update(){
if (Input.GetButtonDown("w")){
botao.color.Color32 = red;
}
}
- Código:
public Image botao;
void Update(){
if (GetKeyDown(KeyCode.W))
botao.color = Color.red;
}
(Só corrigindo os erros)
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
Exato foi isso q eu disse errado mas nao ter onde testar é osso kkkk
fabriciorsz34- Avançado
- PONTOS : 3337
REPUTAÇÃO : 25
Idade : 24
Áreas de atuação : C#,unity,cinema 4D, SketchUp
Respeito as regras :
Re: [RESOLVIDO] Adaptar o script para mostrar o erro
Souris escreveu:fabriciorsz34 escreveu:Esse é um exemplo adapte o a seu uso mas é algo semelhante pode ser que tenha erros nesse script pq eu fiz no cel mas é entorno dissodo a variavel botao jogue a imagem do botao e pronto ao apertar w por exemplo ele muda de cor xD mals pelos erros serio
- Código:
public image botao;
Void Update(){
if (Input.GetButtonDown("w")){
botao.color.Color32 = red;
}
}
- Código:
public Image botao;
void Update(){
if (GetKeyDown(KeyCode.W))
botao.color = Color.red;
}
(Só corrigindo os erros)
Obrigado ícones, só queria isso mesmo, entender como faço pra mudar. <3
Vou colocar no meu script.
Podem fechar o tópico, resolvido!
Tópicos semelhantes
» [RESOLVIDO] ERRO SCRIPT!
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» [RESOLVIDO] ERRO , SCRIPT
» [RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
» [RESOLVIDO] Erro Script
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» [RESOLVIDO] ERRO , SCRIPT
» [RESOLVIDO] Como Impulsionar Um Objeto Para Frente( X ) Sem Ele Parar (script para bala)
» [RESOLVIDO] Erro Script
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos