[RESOLVIDO] Problema com script
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Problema com script
Pessoal, tenho um script aqui de um jogo 2D que eu já havia escrito duas linhas para fazer um efeito, mas aí descobri outra forma melhor de fazer e essas duas linhas ficaram inutilizadas.
o script continua funcionando, mas essas duas tais linhas continuam lá sem nenhuma utilidade, então deletei as duas linhas.
Mas acontece que quando dou play para testar o jogo, ele dá problema na hora que vai carregar outra cena.
depois de muito analisar descobri que essa falha no carregamento da cena era por causa que eu removi as duas linhas do script.
mas não entendo isso porque eu tenho certeza que essas duas linhas não fazem falta no script, são variaveis que eu havia esquecido de apagar e ficaram lá, mas o script funciona.
por que está acontecendo essa falha, alguem entende isso? seria bug na Unity?
o script continua funcionando, mas essas duas tais linhas continuam lá sem nenhuma utilidade, então deletei as duas linhas.
Mas acontece que quando dou play para testar o jogo, ele dá problema na hora que vai carregar outra cena.
depois de muito analisar descobri que essa falha no carregamento da cena era por causa que eu removi as duas linhas do script.
mas não entendo isso porque eu tenho certeza que essas duas linhas não fazem falta no script, são variaveis que eu havia esquecido de apagar e ficaram lá, mas o script funciona.
por que está acontecendo essa falha, alguem entende isso? seria bug na Unity?
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: [RESOLVIDO] Problema com script
Poderia postar o código e dizer quais são as duas linhas? isso ajudaria muito.
Goustkor- Avançado
- PONTOS : 3073
REPUTAÇÃO : 18
Respeito as regras :
Re: [RESOLVIDO] Problema com script
aqui está o script completo:
é um script para aparecer um menu Game Over, nele tem dois botoes SIM e NÃO.
as duas linhas problemáticas são:
se deixo essas duas o problema some, mas se deleto elas aí dá a falha no carregamento.
- Código:
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using System.Collections;
public class GCGameOver : MonoBehaviour {
public GameObject menuGameOver;
public GameObject textoGameOverFinal;
public int opcao = 1;
public float duracaoGameOver = 7.0f;
public bool ativandoMenu = false;
public GameObject[] objetoGCGOver;
public bool finalGameOver = false;
public float contagemRegress = 10f;
public AudioSource somOptions;
public float countGameOver;
private LifeScript scriptVidas;
private MovimentoBackground cenario;
private int quantCreditos;
void Start() {
somOptions = GetComponent<AudioSource>();
}
void Awake() {
objetoGCGOver = GameObject.FindGameObjectsWithTag("gameOver");
if (objetoGCGOver.Length >= 2) {
Destroy(objetoGCGOver[0]);
}
DontDestroyOnLoad(transform.gameObject);
}
void Update() {
var cenario = GameObject.FindGameObjectWithTag("Background").GetComponent<MovimentoBackground>();
var finalGO = GameObject.FindGameObjectWithTag("GOfinal");
var quantCreditos = GCMenuPrincipal.credits;
var vidas = LifeManager.life;
//Abre o menu Game Over quando as vidas chegarem a zero.
if (vidas <= 0 && !ativandoMenu) {
if (quantCreditos > 0) {
countGameOver += Time.deltaTime;
if (countGameOver >= 1f) { //Chama apos 1 segundo.
ativandoMenu = true;
Time.timeScale = 0f;
menuGameOver.SetActive(true);
}
}
}
if (!ativandoMenu) {
GameOverDefault();
}
//So posso selecionar as opçoes Sim e Nao se ativandoMenu for verdadeiro.
if (ativandoMenu) {
GameOverOptions();
BotaoSim();
BotaoNao();
}
if (quantCreditos <= 0) {
if (vidas <= 0) {
Invoke("AtivaGameOverFinal", 1f); //Chama apos 1 segundo.
duracaoGameOver -= Time.deltaTime;
if (duracaoGameOver <= 0) {
SceneManager.LoadScene("Title");
}
}
}
}
void GameOverOptions() {
var imagemSim = GameObject.Find("YesImage").GetComponent<Image>();
var imagemNao = GameObject.Find("NoImage").GetComponent<Image>();
//Selecionar as opçoes Sim e Nao atraves das teclas frente e tras.
if (Input.GetKeyDown("down")) {
opcao += 1;
somOptions.Play();
}
if (Input.GetKeyDown("up")) {
opcao -= 1;
somOptions.Play();
}
if (opcao == 3) {
if (Input.GetKeyDown("down")) {
opcao -= 2;
}
}
if (opcao == 0) {
if (Input.GetKeyDown("up")) {
opcao += 2;
}
}
if (opcao == 1) {
imagemSim.enabled = true;
imagemNao.enabled = false;
}
if (opcao == 2) {
imagemSim.enabled = false;
imagemNao.enabled = true;
}
}
void AtivaMenu() {
Time.timeScale = 0f;
menuGameOver.SetActive(true);
}
void AtivaGameOverFinal() {
textoGameOverFinal.SetActive(true);
}
public void BotaoNao() {
if (opcao == 2) {
if (Input.GetKeyDown("return")) {
Time.timeScale = 1f;
ativandoMenu = false;
menuGameOver.SetActive(false);
SceneManager.LoadScene("Main");
GCMenuPrincipal.habilitaMenu = 1;
GCMenuPrincipal.difficult = PlayerPrefs.GetInt("NivelSelecionado");
GCMenuPrincipal.player = PlayerPrefs.GetInt("VidaSelecionada");
GCMenuPrincipal.credits = PlayerPrefs.GetInt("CreditoSelecionado");
var bgm1 = GameObject.FindGameObjectWithTag("bgm1").GetComponent<AudioSource>();
bgm1.Stop();
}
}
}
public void BotaoSim() {
if (opcao == 1) {
if (Input.GetKeyDown("return")) {
Time.timeScale = 1f;
ativandoMenu = false;
menuGameOver.SetActive(false);
SceneManager.LoadScene("Level1");
GCMenuPrincipal.credits -= 1;
if (!ativandoMenu) {
countGameOver = 0;
}
}
}
}
void GameOverDefault() {
opcao = 1;
}
}
é um script para aparecer um menu Game Over, nele tem dois botoes SIM e NÃO.
as duas linhas problemáticas são:
- Código:
var cenario = GameObject.FindGameObjectWithTag("Background").GetComponent<MovimentoBackground>();
var finalGO = GameObject.FindGameObjectWithTag("GOfinal");
se deixo essas duas o problema some, mas se deleto elas aí dá a falha no carregamento.
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: [RESOLVIDO] Problema com script
Bom dia brow! Dá uma olhada na linha 20 do seu script, tem uma referência a uma das linhas que você deletou, provavelmente esse é o seu problema.
Abraço!
Abraço!
Re: [RESOLVIDO] Problema com script
dstaroski escreveu:Bom dia brow! Dá uma olhada na linha 20 do seu script, tem uma referência a uma das linhas que você deletou, provavelmente esse é o seu problema.
Abraço!
dstaroski obrigado pela dica, mas ainda continua o problema.
Quando seleciono a opção Game Start para iniciar o jogo, ela carrega uma cena Loading, essa cena loading leva até à cena do jogo.
o script loading é o que o marcos ensina em um dos seus videos.
Deletando a linha 20 e as outras duas linhas, a cena loading fica travada; se eu voltar com as linhas normaliza.. O.o estranho isso
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: [RESOLVIDO] Problema com script
Isso ta acontecendo porque essas linhas possuem alguma função que o restante do script ainda precisa, tenta reescrever ele, pois de alguma forma essas linhas ainda estão sendo necessárias para esse código.
Abraço!
Abraço!
Re: [RESOLVIDO] Problema com script
descobri que somente a seguinte linha está sendo problematica:
removi a linha 20 e outra linha junto da acima.
acho que vou ter que fazer tudo de novo, abrir um novo projeto, porque depois que veio a unity 5.4.0 é que começou a dar problemas.
- Código:
var cenario = GameObject.FindGameObjectWithTag("Background").GetComponent<MovimentoBackground>();
removi a linha 20 e outra linha junto da acima.
acho que vou ter que fazer tudo de novo, abrir um novo projeto, porque depois que veio a unity 5.4.0 é que começou a dar problemas.
Marc7- Mestre
- PONTOS : 3443
REPUTAÇÃO : 28
Respeito as regras :
Re: [RESOLVIDO] Problema com script
Hum entendi, pode ser mesmo, alguma mudança em arquivos do Monodev atualizado, algo assim. Acredito ser a melhor opção se refazer ele, dai se já pode otimizar ele (com menos sintaxes se necessário).
Abraço e ótimos games! :D
Abraço e ótimos games! :D
Tópicos semelhantes
» [RESOLVIDO] Problema com um Script
» [RESOLVIDO] Problema em um script
» [RESOLVIDO] Problema com script de random na scale de um objeto
» [RESOLVIDO] Problema com script básico
» [RESOLVIDO] Estou com um problema no script de animação
» [RESOLVIDO] Problema em um script
» [RESOLVIDO] Problema com script de random na scale de um objeto
» [RESOLVIDO] Problema com script básico
» [RESOLVIDO] Estou com um problema no script de animação
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos