[Quase resolvido] Ativar GameObject aleatório
3 participantes
Página 1 de 1
[Quase resolvido] Ativar GameObject aleatório
E ai pessoal,
Quero fazer um sistema que sempre quando acaba o tempo ative um GameObject Aleatório que estão em uma lista!
Se alguém souber como agradeço! Valeu!
Quero fazer um sistema que sempre quando acaba o tempo ative um GameObject Aleatório que estão em uma lista!
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class TesteActiveRandom : MonoBehaviour {
public float tempo = 30;
public GameObject[] objetos;
// Use this for initialization
void Start () {
tempo = 30;
}
// Update is called once per frame
void Update () {
tempo -= Time.deltaTime*1.3f;
if (tempo <= 0.1) {
}
}
}
Se alguém souber como agradeço! Valeu!
Última edição por Hardencio em Qui Out 27, 2016 8:17 pm, editado 1 vez(es)
Hardencio- Avançado
- PONTOS : 3720
REPUTAÇÃO : 25
Áreas de atuação : Advergames and Casual Games
Respeito as regras :
Re: [Quase resolvido] Ativar GameObject aleatório
use o Random.Range para pegar um índice randômico
- Código:
int index = Random.Range(0,objetos.Length);
objetos[index].SetActive(true);
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [Quase resolvido] Ativar GameObject aleatório
Ela sempre está ativando todos os objetos, pq ta no Update...e agora?
Também tentei dessa forma:
e mesma coisa...
Também tentei dessa forma:
- Código:
frasesFinaisDeJogo [Random.Range(0,4)].SetActive (true);
e mesma coisa...
Hardencio- Avançado
- PONTOS : 3720
REPUTAÇÃO : 25
Áreas de atuação : Advergames and Casual Games
Respeito as regras :
Re: [Quase resolvido] Ativar GameObject aleatório
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class TesteActiveRandom : MonoBehaviour {
public float tempo = 30;
public GameObject[] objetos;
bool ativou = false;
void Start () {
for (int x = 0; x < objetos.Length; x++) {
objetos [x].SetActive (false);
}
}
void Update () {
if (tempo > 0.0f) {
tempo -= Time.deltaTime * 1.3f;
}
if (tempo <= 0.1f && ativou == false) {
ativou = true;
int index = Random.Range(0,objetos.Length);
objetos[index].SetActive(true);
}
}
}
Re: [Quase resolvido] Ativar GameObject aleatório
Funcionou! Obrigadão...:D
É difícil fazer pra não ativar o objeto repetido de anteriormente?
É difícil fazer pra não ativar o objeto repetido de anteriormente?
Hardencio- Avançado
- PONTOS : 3720
REPUTAÇÃO : 25
Áreas de atuação : Advergames and Casual Games
Respeito as regras :
Re: [Quase resolvido] Ativar GameObject aleatório
Difícil não é, mas depende da extensão desta sua lista de objetos.
Da para ir adicionando os indices já ativos em alguma lista, e fazer um while de checagem na hora de ativar, para verificar se o objeto não está nesta lista.
Mas você precisa especificar mais o que está tentando fazer por completo, ai fica mais fácil de responder.
Da para ir adicionando os indices já ativos em alguma lista, e fazer um while de checagem na hora de ativar, para verificar se o objeto não está nesta lista.
Mas você precisa especificar mais o que está tentando fazer por completo, ai fica mais fácil de responder.
Re: [Quase resolvido] Ativar GameObject aleatório
Quando meu jogo acaba ele ativa uma frase aleatória, que são os gameobject. Vai ter aproximadamente umas 15 frases.
Hardencio- Avançado
- PONTOS : 3720
REPUTAÇÃO : 25
Áreas de atuação : Advergames and Casual Games
Respeito as regras :
Re: [Quase resolvido] Ativar GameObject aleatório
Ok, tente isto:
- Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEngine.UI;
public class TesteActiveRandom : MonoBehaviour {
public float tempo = 30;
public List<GameObject> objetos = new List<GameObject>();
bool ativou = false;
void Start () {
for (int x = 0; x < objetos.Count; x++) {
objetos [x].SetActive (false);
}
}
void Update () {
if (Input.GetKeyDown (KeyCode.E)) {//este if é para teste
tempo = 1;
ativou = false;
}
if (tempo > 0.0f) {
tempo -= Time.deltaTime * 1.3f;
}
if (tempo <= 0.1f && ativou == false) {
ativou = true;
int index = Random.Range(0,objetos.Count);
objetos[index].SetActive(true);
objetos.RemoveAt (index);
}
}
}
Tópicos semelhantes
» [RESOLVIDO] DUVIDA SOBRE ATIVAR UM GAMEOBJECT ATRAVÉS DE UMA CONDIÇÃO
» Como posso fazer um botão de ligar um GameObject aleatorio?
» Tocar no gameobject e ativar um canvas
» Ativar GAMEOBJECT depois de um TEMPO X
» Ativar / Desativar Varios GameObject
» Como posso fazer um botão de ligar um GameObject aleatorio?
» Tocar no gameobject e ativar um canvas
» Ativar GAMEOBJECT depois de um TEMPO X
» Ativar / Desativar Varios GameObject
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos