[RESOLVIDO] Criar um reset automático no cronometro
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Criar um reset automático no cronometro
Coe Rapaziada
Sou meio novo aqui e também sou iniciante no unity, e to aprendendo ainda a fazer scripts e tals
bem, eu gostaria da ajuda de alguém pra um trabalho de um Quiz que to tendo um pouco de dificuldade pra fazer
porque um dos requisitos é que você coloque um cronometro que tira pontos com o passar do tempo
tipo a cada 5 segundos você perde 10 pontos e a assim por diante, só que eu fiz o cronometro certinho, o sist. de pontos
mas até agora eu não consegui fazer com que quando o jogador responda a pergunta ele reinicie pra o tempo indicado
espero
Sou meio novo aqui e também sou iniciante no unity, e to aprendendo ainda a fazer scripts e tals
bem, eu gostaria da ajuda de alguém pra um trabalho de um Quiz que to tendo um pouco de dificuldade pra fazer
porque um dos requisitos é que você coloque um cronometro que tira pontos com o passar do tempo
tipo a cada 5 segundos você perde 10 pontos e a assim por diante, só que eu fiz o cronometro certinho, o sist. de pontos
mas até agora eu não consegui fazer com que quando o jogador responda a pergunta ele reinicie pra o tempo indicado
espero
- Código:
using System.Collections;
using UnityEngine.UI;
using System.Collections.Generic;
using UnityEngine;
using Unity.Mathematics;
using System.Threading;
using System;
using UnityEngine.PlayerLoop;
using UnityEditor.Media;
using UnityEngine.UIElements;
public class responder : MonoBehaviour
{
private 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[] alternativaA; //armazena todas as alternativas A
public string[] alternativaB; //armazena todas as alternativas B
public string[] alternativaC; //armazena todas as alternativas C
public string[] alternativaD; //armazena todas as alternativas D
public string[] corretas; //armazena todas as alternativas corretas
private int idPergunta;
private float mediatotal;
private float acertos;
private float questoes;
private float media;
private float acertosportempo;
private int notaFinal;
// Start is called before the first frame update
void Start()
{
idTema = PlayerPrefs.GetInt("idTema");
idPergunta = 0;
questoes = perguntas.Length;
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.";
}
// Update is called once per frame
public void resposta(string alternativa)
{
if (alternativa == "A")
{
//Executa o Comando para Resposta A
if (alternativaA[idPergunta] == corretas[idPergunta]) ;
{
acertos += 1;
}
}
else if (alternativa == "B")
{
//Executa o Comando para Resposta B
if (alternativaB[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
else if (alternativa == "C")
{
//Executa o Comando para Resposta C
if (alternativaC[idPergunta] == corretas[idPergunta])
{
acertos += 1;
}
}
else if (alternativa == "D")
{
//Executa o Comando para Resposta 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
{
media = ((acertos / questoes) * 100) - acertosportempo; //calcula a media na base no percentual de acerto
notaFinal = Mathf.RoundToInt(media); // arredonda a nota
if (notaFinal > PlayerPrefs.GetInt("notaFinal" + idTema.ToString()))
{
PlayerPrefs.SetInt("notaFinal" + idTema.ToString(), notaFinal);
PlayerPrefs.SetInt("acertos" + idTema.ToString(), (int)acertos);
}
PlayerPrefs.SetInt("notaFinalTemp" + idTema.ToString(), notaFinal);
PlayerPrefs.SetInt("acertosTemp" + idTema.ToString(), (int)acertos);
Application.LoadLevel("notaFinal");
}
}
public float timeLeft = 15.0f;
public Text startText; // used for showing countdown from 3, 2, 1
void Update()
{
timeLeft -= Time.deltaTime;
startText.text = (timeLeft).ToString("0");
if (timeLeft <= 45)
{
acertosportempo = 1;
if (timeLeft <= 40)
{
acertosportempo = 2;
if (timeLeft <= 35)
{
acertosportempo = 3;
if (timeLeft <= 30)
{
acertosportempo = 4;
if (timeLeft <= 25)
{
acertosportempo = 5;
if (timeLeft <= 20)
{
acertosportempo = 6;
if (timeLeft <= 15)
{
acertosportempo = 7;
if (timeLeft <= 10)
{
acertosportempo = 8;
if (timeLeft <= 5)
{
acertosportempo = 9;
if (timeLeft <= 0)
{
acertosportempo = 10;
if (timeLeft <= 0)
{
acertosportempo = 10;
startText.text = "Game Over";
}
}
}
}
}
}
}
}
}
}
}
}
}
Helio302- Iniciante
- PONTOS : 1665
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Criar um reset automático no cronometro
Quando o jogador acertar a resposta coloca a variável do tempo + segundos padrões.
Por exemplo: timeLeft == 60
Por exemplo: timeLeft == 60
Micco- MembroAvançado
- PONTOS : 1791
REPUTAÇÃO : 17
Áreas de atuação : C#, GDScript, HTML e CSS.
Respeito as regras :
Re: [RESOLVIDO] Criar um reset automático no cronometro
Muito obrigado, eu consegui fazer o codigo funcionar, thanksss.
Helio302- Iniciante
- PONTOS : 1665
REPUTAÇÃO : 0
Respeito as regras :
Re: [RESOLVIDO] Criar um reset automático no cronometro
De nada, boa sorte com o projeto :DHelio302 escreveu:Muito obrigado, eu consegui fazer o codigo funcionar, thanksss.
Micco- MembroAvançado
- PONTOS : 1791
REPUTAÇÃO : 17
Áreas de atuação : C#, GDScript, HTML e CSS.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Cronometro par Inimigo como se faz ?
» [RESOLVIDO] Reiniciar o cronometro ao responder uma questão
» [RESOLVIDO] Criar Apk Android 64 .aab
» [RESOLVIDO] Erro ao criar um projeto
» [RESOLVIDO] Como criar um instalador?
» [RESOLVIDO] Reiniciar o cronometro ao responder uma questão
» [RESOLVIDO] Criar Apk Android 64 .aab
» [RESOLVIDO] Erro ao criar um projeto
» [RESOLVIDO] Como criar um instalador?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos