Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
2 participantes
Página 1 de 1
Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
Oi...
Tô com uma dúvida...
Eu gostaria de fazer o seguinte... eu já juntei os objetos por tag e fiz umas continhas matemáticas...
Mas, tentei na void update fazer com que cada vez que a pontuacao.pontos (outro script) tiver no mesmo número da continha matemática contida no int[] numeros, ativar o sprite do gameobject[] objetos... tentei com foreach e for e não consegui ainda...
Sei que se eu colocar o numero exato que eu quero, tipo... if<pontuacao.pontos == 7, gameobject[0].getcomponent e tal e tal = true... dá certo... mas, queria fazer de forma genérica para que eu possa usar esse mesmo script com outros valores, de forma automática.
Ele já ativa tudo direito ou ativa uma ou outro gameobject[] objeto... mas, ordenado de acordo com a pontuacao, para uso de forma genérica com outros valores, não consegui ainda...
Alguma luz???
Tô com uma dúvida...
Eu gostaria de fazer o seguinte... eu já juntei os objetos por tag e fiz umas continhas matemáticas...
Mas, tentei na void update fazer com que cada vez que a pontuacao.pontos (outro script) tiver no mesmo número da continha matemática contida no int[] numeros, ativar o sprite do gameobject[] objetos... tentei com foreach e for e não consegui ainda...
Sei que se eu colocar o numero exato que eu quero, tipo... if<pontuacao.pontos == 7, gameobject[0].getcomponent e tal e tal = true... dá certo... mas, queria fazer de forma genérica para que eu possa usar esse mesmo script com outros valores, de forma automática.
Ele já ativa tudo direito ou ativa uma ou outro gameobject[] objeto... mas, ordenado de acordo com a pontuacao, para uso de forma genérica com outros valores, não consegui ainda...
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ObjetoAparecerMapa : MonoBehaviour
{
public GameObject[] objetos;
public int[] numeros;
public int objetosTotal, pontosTotal;
public float divisoes;
public string stringTag;
private void Start()
{
objetos = GameObject.FindGameObjectsWithTag("" + stringTag);
objetosTotal = objetos.Length;
divisoes = pontosTotal / objetosTotal;
Mathf.RoundToInt(divisoes);
for (int i = 0; i < numeros.Length; i++)
{
numeros[i] = Mathf.RoundToInt(divisoes) * i;
Debug.Log("O valor de numeros é: " + numeros[i]);
}
}
void Update()
{
for (int i = 0; i < numeros.Length; i++)
for (int j = 0; j < objetos.Length; j++)
{
if (Pontuacao.pontos == numeros[i])
{
objetos[j].GetComponent<SpriteRenderer>().enabled = true;
}
}
}
}
Alguma luz???
joffersoju- Avançado
- PONTOS : 2503
REPUTAÇÃO : 4
Respeito as regras :
Re: Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
joffersoju escreveu:Oi...
Tô com uma dúvida...
Eu gostaria de fazer o seguinte... eu já juntei os objetos por tag e fiz umas continhas matemáticas...
Mas, tentei na void update fazer com que cada vez que a pontuacao.pontos (outro script) tiver no mesmo número da continha matemática contida no int[] numeros, ativar o sprite do gameobject[] objetos... tentei com foreach e for e não consegui ainda...
Sei que se eu colocar o numero exato que eu quero, tipo... if<pontuacao.pontos == 7, gameobject[0].getcomponent e tal e tal = true... dá certo... mas, queria fazer de forma genérica para que eu possa usar esse mesmo script com outros valores, de forma automática.
Ele já ativa tudo direito ou ativa uma ou outro gameobject[] objeto... mas, ordenado de acordo com a pontuacao, para uso de forma genérica com outros valores, não consegui ainda...
Não entendi direito oq vc quer fazer , _,no kso ele não ta ativando numa sequencia númerica ?
Re: Ativar gameobject através de pontuacao por meio de comparacao com outro valor int
Só consertei esse trecho de código, deu certo...
valews...
- Código:
for (int i = 0; i < numeros.Length; i++)
{
numeros[i] = Mathf.RoundToInt(divisoes) * (i+1);
Debug.Log("O valor de numeros é: " + numeros[i]);
}
}
void Update()
{
for (int i=0; i<objetos.Length; i++)
{
if (Pontuacao.pontos == numeros[i])
{
objetos[i].GetComponent<SpriteRenderer>().enabled = true;
}
}
}
valews...
joffersoju- Avançado
- PONTOS : 2503
REPUTAÇÃO : 4
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] DUVIDA SOBRE ATIVAR UM GAMEOBJECT ATRAVÉS DE UMA CONDIÇÃO
» [RESOLVIDO] Não consigo ativar/desativar um script através de outro
» Como ativar animação através de trigger
» Como desativar um gameobject atraves do seu objeto-filho?
» Como aceder a pontuação correta no outro script
» [RESOLVIDO] Não consigo ativar/desativar um script através de outro
» Como ativar animação através de trigger
» Como desativar um gameobject atraves do seu objeto-filho?
» Como aceder a pontuação correta no outro script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos