[RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
Quero fazer um cenário com um objeto 3D que cai de um ponto inicial, quando ele sai desse ponto inicial, ao apertar um botão “start”, um cronômetro inicia, e deverá ter um botão “pause”, que vai parar o cenário por um todo, ele interrompe o cronômetro e para objeto. E depois deve ser possível dar continuidade ao apertar o botão “start” novamente. Fiz o botão “start” e “pause”, e o objeto inicia ao apertar o “start” e para com o “stop”, e inicia novamente com o “start”, porém o cronômetro, uma vez inicializado continua infinitamente, pois construí ele com um script. Então gostaria de saber como posso fazer com que esse cronômetro pare a contagem juntamente ao objeto. Muito obrigada!
amanda.ilg- Iniciante
- PONTOS : 1294
REPUTAÇÃO : 3
Respeito as regras :
Re: [RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
Desculpe, acho que tinha entendido errado. Acredito que voce quer acessar uma variavel de um outro script, no caso do cronometro, é isso? Caso não seja, voce poderia mandar o script para que eu possa entender o que pode estar acontecendo?
Caso seja, voce terá que criar uma booleana publica e estática no script do cronometro. Utilizamos o public para podermos acessar variáveis sem nenhuma restrição e utilizamos o static para podermos acessar as variáveis sem precisar de uma instância de classe.
No script do Cronômetro:
No seu script dos botoes:
Não tenho muita certeza se era isso, mas se não for, responda e me corrige para eu poder ajudar.
Caso seja, voce terá que criar uma booleana publica e estática no script do cronometro. Utilizamos o public para podermos acessar variáveis sem nenhuma restrição e utilizamos o static para podermos acessar as variáveis sem precisar de uma instância de classe.
No script do Cronômetro:
- Código:
//Como disse, não sei quais são os nomes das suas variaveis e do seu script, como voce faz a incrementacao do cronometro
//Entao veja como exemplo e tente apropriar as variaveis para seu script, ou manda ele que eu aproprio
public static bool cronometroContando = false;
public float cronometro = 0f;
void Update()
{
if(cronometroContando)
{
cronometro += Time.deltaTime;
}
}
No seu script dos botoes:
- Código:
//Como disse, não sei quais são os nomes das suas variaveis e do seu script, como voce faz a incrementacao do cronometro
//Entao veja como exemplo e tente apropriar as variaveis para seu script, ou manda ele que eu aproprio
public void StartButton() //Botoes precisam de funcoes para funcionar, como vc disse voce ja fez os botoes, considere essa void a void do seu botao Start
{
nomeDoSeuScriptDoCronometro.cronometroContando = true; //Coloque o nome do seu Script do cronometro no lugar de "nomeDoSeuScriptDoCronometro"
}
public void PauseButton() //considere essa void a void do seu botao de Pause
{
nomeDoSeuScriptDoCronometro.cronometroContando = false; //Coloque o nome do seu Script do cronometro no lugar de "nomeDoSeuScriptDoCronometro"
}
Não tenho muita certeza se era isso, mas se não for, responda e me corrige para eu poder ajudar.
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
Olá, acho que não seria isso. Meu problema é que não sei como atualizar o booleano quando clico no botão. Estou mandando o script abaixo para você poder dar uma olhada.
Obrigada!
Obrigada!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class mostrarTempo : MonoBehaviour
{
public Text tempo;
private float t;
public bool play = true;
// Start is called before the first frame update
void Start()
{
t = 0;
}
// Update is called once per frame
void Update()
{
play = MonoScript.name();
if(play == true){
t += Time.deltaTime;
}
tempo.text = t.ToString("F2");
}
}
amanda.ilg- Iniciante
- PONTOS : 1294
REPUTAÇÃO : 3
Respeito as regras :
Re: [RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
Voce ja fez e implementou os comandos do botão?
voce precisa usar voids para adicionar funções ao clicar no botao, criando um novo evento de click no botao e utilizando o AddListerner e colocando o nome da void publica.
- Código:
public Button pause;
public Button start;
void Start()
{
pause.onClick = new Button.ButtonClickedEvent();
start.onClick = new Button.ButtonClickedEvent();
pause.onClick.AddListener(() => PauseButton());
start.onClick.AddListener(() => StartButton());
}
public void PauseButton()
{
play = false;
}
public void StartButton()
{
play = true;
}
voce precisa usar voids para adicionar funções ao clicar no botao, criando um novo evento de click no botao e utilizando o AddListerner e colocando o nome da void publica.
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [RESOLVIDO] Problema com um projeto na Unity 3d, versão 2018.4.26
Funcionou! Muito obrigada mesmo! Ajudou muito!
amanda.ilg- Iniciante
- PONTOS : 1294
REPUTAÇÃO : 3
Respeito as regras :
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Problema ao dar build em um projeto com Firebase unity
» [RESOLVIDO] Melhor versão da unity para projetos 3D
» [RESOLVIDO] Esse erro de código é da Unity ou da versão do Script?
» Unity 2018.4.19f LTS - Ajuda | Problema com o Sol (Iluminação).
» [RESOLVIDO] Unity 2018 nao abre o editor?
» [RESOLVIDO] Melhor versão da unity para projetos 3D
» [RESOLVIDO] Esse erro de código é da Unity ou da versão do Script?
» Unity 2018.4.19f LTS - Ajuda | Problema com o Sol (Iluminação).
» [RESOLVIDO] Unity 2018 nao abre o editor?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos