Instanciar objetos e controla los!!
2 participantes
Página 1 de 1
Instanciar objetos e controla los!!
bom dia em meu jogo tenho um botao void que ira instanciar objetos
esses objetos ao serem instanciados terao controles como subir ,descer , mudar cor etc,
acontece q so o objeto da cena esta aceitando os comandos , qd instancio a unica coisa q funciona e a seta subir!!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;
void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = true;
_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
bandeira.gameObject.SetActive (false);
}
// Update is called once per frame
void Update()
{
if (conectado)
{
GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
}
//if (Input.GetKey("w") || subir.pressed )
//{
http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
// transform.Translate(0, -0.05f, 0.1f);
//}
//else if (Input.GetKey("s") || descer.pressed)
//{
// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
//}
if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;
}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl1 = GameObject.FindWithTag("balao");
bl1.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);
}
}
agora script que instancia!!
public void InstanciarBalao(int idBalao)
{
Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
}
}
esses objetos ao serem instanciados terao controles como subir ,descer , mudar cor etc,
acontece q so o objeto da cena esta aceitando os comandos , qd instancio a unica coisa q funciona e a seta subir!!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;
void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = true;
_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
bandeira.gameObject.SetActive (false);
}
// Update is called once per frame
void Update()
{
if (conectado)
{
GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
}
//if (Input.GetKey("w") || subir.pressed )
//{
http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
// transform.Translate(0, -0.05f, 0.1f);
//}
//else if (Input.GetKey("s") || descer.pressed)
//{
// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
//}
if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;
}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl1 = GameObject.FindWithTag("balao");
bl1.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);
}
}
agora script que instancia!!
public void InstanciarBalao(int idBalao)
{
Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
}
}
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;
void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = true;
_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
bandeira.gameObject.SetActive (false);
}
// Update is called once per frame
void Update()
{
if (conectado)
{
GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
}
//if (Input.GetKey("w") || subir.pressed )
//{
http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
// transform.Translate(0, -0.05f, 0.1f);
//}
//else if (Input.GetKey("s") || descer.pressed)
//{
// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
//}
if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;
}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl1 = GameObject.FindWithTag("balao");
bl1.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);
}
}
agora script que instancia!!
public void InstanciarBalao(int idBalao)
{
Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
}
}
Re: Instanciar objetos e controla los!!
não entendi nada
em que GameObject vai esse Script linha1 (tem que melhorar esses nomes de classes, não é nenhum pouco claro)
e notei que tu usa muito:
e não to vendo essas interações que menciona
e será que a culpa de não funcionar não é daquele monte de comentários ali não ? ( // )
em que GameObject vai esse Script linha1 (tem que melhorar esses nomes de classes, não é nenhum pouco claro)
e notei que tu usa muito:
- Código:
GameObject.FindWithTag("");
e não to vendo essas interações que menciona
e será que a culpa de não funcionar não é daquele monte de comentários ali não ? ( // )
Re: Instanciar objetos e controla los!!
capim22 escreveu:Desculpe a confusao galera , e o seguinte estou criando um jogo de soltura de baloes , estou com um problema onde estou a meses preso nisso, oq acontece e q meu balao da cena funciona direitinho , esse balao tem linerenderer q fica presa uma ponta no balao e outra na mao do player, no canvas duas setas cima e baixo cima distancia o balao do player e baixo recua ,tem um botao para trocar cor do balao e um botao para liberar o balao para subir qd o msm sobe o linenrenderer fica false , as setas tb etc blz,, so q qd crio um prefab p instancia ou ate msm clone desse balao da cena , o clone n tem as msm funcionalidades que o original da cena , tipo no clone consigo afastar e recuar , agora mudar cor e linerenderer false so funciona no balao original , (msm os dois na cena) .
Se alguem puder por gentileza me ajudar desculpa ser chato, e q uso desenvolvimento de jogos p me destrair da depressao e crises de anciedade ,tinha perdido minha conta do forum, se alguem puder me ajudar por favor , meu zap e 24988284425 mando fts e videos do problema!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class Linha1 : MonoBehaviour
{
public Rigidbody rb;
public LineRenderer lineRender;
private float distance = 40;
public float spd = 1f;
public bool conectado = true;
private texturasBandeira _texturasBandeira;
public GameObject bandeira;
// private mudarBandeira _mudarBandeira;
void Start()
{
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = true;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = true;
_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;
rb = GetComponent<Rigidbody>();
rb.isKinematic = true;
bandeira.gameObject.SetActive (false);
}
// Update is called once per frame
void Update()
{
if (conectado)
{
GameObject player = GameObject.Find("Player");
if (Vector3.Distance(transform.position, player.transform.position) > distance)
{
transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<
}
//if (Input.GetKey("w") || subir.pressed )
//{
http://transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
// transform.Translate(0, -0.05f, 0.1f);
//}
//else if (Input.GetKey("s") || descer.pressed)
//{
// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);
//}
if (Vector3.Distance(player.transform.position, transform.position) > 35)
{
bandeira.gameObject.SetActive (true);
// rb.isKinematic = false;
// lineRender.gameObject.active = false;
// conectado = false;
}
}
}
public void liberarBalao()
{
conectado = false;
GameObject bl1 = GameObject.FindWithTag("balao");
bl1.transform.gameObject.tag = "floor";
GameObject bd = GameObject.FindWithTag("trocarBand");
bd.GetComponent<EventTrigger>().enabled = false;
GameObject cb = GameObject.FindWithTag("trocarCorBalao");
cb.GetComponent<EventTrigger>().enabled = false;
rb.isKinematic = false;
lineRender.gameObject.SetActive(false);
}
}
agora script que instancia!!
public void InstanciarBalao(int idBalao)
{
Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y +4, Aqui.transform.position.z), balao[idBalao].transform.rotation);
}
}
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
Ajuda-lo, sem problemas.
essa sua nova explicação ajudou um pouco.
pelo que entendi esse script que mandou fica no balão.
mas, não vejo nada que indique uma tentativa de alterar a cor do balão.
ou de liberar o balão.(tem a função, mas não é chamada nesse script)
então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado
essa sua nova explicação ajudou um pouco.
pelo que entendi esse script que mandou fica no balão.
mas, não vejo nada que indique uma tentativa de alterar a cor do balão.
ou de liberar o balão.(tem a função, mas não é chamada nesse script)
então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado
- uma analise rápida [b][LEIA ME][/b]:
bem consegue subir e descer todos balões sem problema, até ai ok.
aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).
esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele
e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:Ajuda-lo, sem problemas.
essa sua nova explicação ajudou um pouco.
pelo que entendi esse script que mandou fica no balão.
mas, não vejo nada que indique uma tentativa de alterar a cor do balão.
ou de liberar o balão.(tem a função, mas não é chamada nesse script)
então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado
- uma analise rápida [b][LEIA ME][/b]:
bem consegue subir e descer todos balões sem problema, até ai ok.
aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).
esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele
e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.
esse script e responsavel por quase td no meu balao, so q preciso q aconteca o msm qd instanciar outro balao , isso n esta acontecendo nem msm se eu clonar o balao da cena o clone naoa funciona tipo se aperto seta p subir o balao so o original da cena q sobe o clone fica parado , o msm acontece c outros metodos , no balao original td funciona direitinho , mas como vou precisar instancia lo , o clone ou prefab nao funciona fica td parado!!using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class Linha1 : MonoBehaviour{public Rigidbody rb;public LineRenderer lineRender;private float distance = 40;public float spd = 1f;public bool conectado = true;private texturasBandeira _texturasBandeira;public GameObject bandeira;// private mudarBandeira _mudarBandeira;void Start(){GameObject bd = GameObject.FindWithTag("trocarBand"); //--- else um trigger q preciso desativar qd conectado for false usei Find pq n consegui usar gameObject qd converto em prefab!!bd.GetComponent<EventTrigger>().enabled = true;GameObject cb = GameObject.FindWithTag("trocarCorBalao"); //-- msm coisa de cima!cb.GetComponent<EventTrigger>().enabled = true;lineRender.gameObject.SetActive(true);rb = GetComponent<Rigidbody>();rb.isKinematic = true;//bandeira.gameObject.SetActive (false);}// Update is called once per framevoid Update(){if (conectado){GameObject player = GameObject.Find("Player");if (Vector3.Distance(transform.position, player.transform.position) > distance){transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<}if (Vector3.Distance(player.transform.position, transform.position) > 35){bandeira.gameObject.SetActive (true);// rb.isKinematic = false;// lineRender.gameObject.active = false;// conectado = false;}}}public void liberarBalao(){conectado = false;GameObject bl = GameObject.FindWithTag("balao"); //--- eu preciso preciso q toda essa funcao funcione qd o balao e instanciado , so q nem prefab e nem msm o clone funciona esse metodo , somente o original da cena q funciona!!bl.transform.gameObject.tag = "floor";GameObject bd = GameObject.FindWithTag("trocarBand");bd.GetComponent<EventTrigger>().enabled = false;GameObject cb = GameObject.FindWithTag("trocarCorBalao");cb.GetComponent<EventTrigger>().enabled = false;rb.isKinematic = false;lineRender.gameObject.SetActive(false);}}
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
capim22 escreveu:dutrabr100 escreveu:Ajuda-lo, sem problemas.
essa sua nova explicação ajudou um pouco.
pelo que entendi esse script que mandou fica no balão.
mas, não vejo nada que indique uma tentativa de alterar a cor do balão.
ou de liberar o balão.(tem a função, mas não é chamada nesse script)
então para que possa ajuda-lo, favor mandar o script onde é feita a troca da cor do balão e onde o balão é liberado
- uma analise rápida [b][LEIA ME][/b]:
bem consegue subir e descer todos balões sem problema, até ai ok.
aparentemente a parte do código responsável por isso esta dentro do script Linha1 que mandou. (só não entendi pq ela esta comentada, talvez tu tenha movido para outro lugar essa parte do código, ou talvez tenha desativado para testar algo, ou reduzir as variáveis enquanto resolvia o outro problema).
esse mesmo script tem uma função liberarBalão(); que é a que deixa o lineRenderer com setActive false, mas a função não é chamada no script que mandou, mas a função funciona quando existe apenas 1 balão, mas não quando existe mais de 1, então o problema deve estar no script que a chama. ou seja preciso dele
e também não vi nada nesse script que indique uma tentativa de alterar a cor do balão. então presumo que essa parte tambem esteja em outro script. logo preciso do script que contem isso.
esse script e responsavel por quase td no meu balao, so q preciso q aconteca o msm qd instanciar outro balao , isso n esta acontecendo nem msm se eu clonar o balao da cena o clone naoa funciona tipo se aperto seta p subir o balao so o original da cena q sobe o clone fica parado , o msm acontece c outros metodos , no balao original td funciona direitinho , mas como vou precisar instancia lo , o clone ou prefab nao funciona fica td parado!!using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class Linha1 : MonoBehaviour{public Rigidbody rb;public LineRenderer lineRender;private float distance = 40;public float spd = 1f;public bool conectado = true;private texturasBandeira _texturasBandeira;public GameObject bandeira;// private mudarBandeira _mudarBandeira;void Start(){GameObject bd = GameObject.FindWithTag("trocarBand"); //--- else um trigger q preciso desativar qd conectado for false usei Find pq n consegui usar gameObject qd converto em prefab!!bd.GetComponent<EventTrigger>().enabled = true;GameObject cb = GameObject.FindWithTag("trocarCorBalao"); //-- msm coisa de cima!cb.GetComponent<EventTrigger>().enabled = true;lineRender.gameObject.SetActive(true);rb = GetComponent<Rigidbody>();rb.isKinematic = true;//bandeira.gameObject.SetActive (false);}// Update is called once per framevoid Update(){if (conectado){GameObject player = GameObject.Find("Player");if (Vector3.Distance(transform.position, player.transform.position) > distance){transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<}if (Vector3.Distance(player.transform.position, transform.position) > 35){bandeira.gameObject.SetActive (true);// rb.isKinematic = false;// lineRender.gameObject.active = false;// conectado = false;}}}public void liberarBalao(){conectado = false;GameObject bl = GameObject.FindWithTag("balao"); //--- eu preciso preciso q toda essa funcao funcione qd o balao e instanciado , so q nem prefab e nem msm o clone funciona esse metodo , somente o original da cena q funciona!!bl.transform.gameObject.tag = "floor";GameObject bd = GameObject.FindWithTag("trocarBand");bd.GetComponent<EventTrigger>().enabled = false;GameObject cb = GameObject.FindWithTag("trocarCorBalao");cb.GetComponent<EventTrigger>().enabled = false;rb.isKinematic = false;lineRender.gameObject.SetActive(false);}}
se puder me chamar zap 24988284425 te agradeco muiiiito msm!!
resumidamente oq preciso e so fazer com q o clone do objeto balao funciona conforme o original , pq no original da cena funciona tudinho certinho , troca de cor, seta subir e descer , botao p liberar o balao , funciona td , mas com clone dele ou um prefab desse objeto as coisas n funcionam!! muito obg
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!!dutrabr100 escreveu:???
essas suas duas respostas aparecem aqui meio que vazias
meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
mas tem "find" que retorna mais de um ou seja um GameObject[].capim22 escreveu:Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!!dutrabr100 escreveu:???
essas suas duas respostas aparecem aqui meio que vazias
meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!
https://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag.html
https://docs.unity3d.com/ScriptReference/Object.FindObjectsOfType.html
ai seria só usar um for ou foreach e aplicar em todos o que estava fazendo em apenas um
Re: Instanciar objetos e controla los!!
capim22 escreveu:Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!!dutrabr100 escreveu:???
essas suas duas respostas aparecem aqui meio que vazias
meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!
ou tu pode simplesmente
criar uma
GameObject[] e ao instanciar adicionar o balão nela e ao liberar tirar ele dela.
Re: Instanciar objetos e controla los!!
Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:capim22 escreveu:Pelo oq percebi tenho q usar List pq uso Find e ele so acha um objeto na cena e como preciso instanciar varios , esse e o problema estou agarrado nisso a meses ja!!dutrabr100 escreveu:???
essas suas duas respostas aparecem aqui meio que vazias
meu perfil face e https://www.facebook.com/leandro.paulino.129/
se puder me ajudar la te agradeco vlw!!
ou tu pode simplesmente
criar uma
GameObject[] e ao instanciar adicionar o balão nela e ao liberar tirar ele dela.
fiz isso e ao instanciar o segundo ele n obedece os comandos!!using UnityEngine.EventSystems;using System.Collections.Generic;using UnityEngine;public class Botoes : MonoBehaviour{private nivel _nivel1;public GameObject Aqui;public GameObject[] balao;void Start(){if (balao == null)balao = GameObject.FindGameObjectsWithTag("balao");foreach (GameObject balao1 in balao) ;}public void InstanciarBalao(int idBalao){// List<GameObject> balaoList = new List<GameObject>();// balao = new List<GameObject>();Instantiate(balao[idBalao], new Vector3(Aqui.transform.position.x, Aqui.transform.position.y + 4, Aqui.transform.position.z), balao[idBalao].transform.rotation);}}
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
Bem vamos lácapim22 escreveu:Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Scripts
o primeiro script é do balão o segundo é do BaloesController
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Baloes : MonoBehaviour
{
public bool preso = true;
public Transform pivot;
private Rigidbody rb;
Renderer material;
public LineRenderer corda;
public float tamanhoDaCorda = 5;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
material = GetComponent<Renderer>();
corSelecionada = Random.Range(0, cores.Length);
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
// Update is called once per frame
void Update()
{
if (preso)
{
corda.SetPosition(1, (pivot.position - transform.position));
}
if (!preso)
{
corda.SetPosition(1,
Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
transform.parent = null;
}
}
private void FixedUpdate()
{
//Fazer
float distancia = Vector3.Distance(pivot.position, transform.position);
if ((distancia < tamanhoDaCorda && preso) || !preso)
{
rb.AddForce(Vector3.up * (Time.deltaTime * 30));
}
else
if(distancia > tamanhoDaCorda && preso)
{
rb.AddForce(Vector3.down * (Time.deltaTime * 30));
}
if (distancia - tamanhoDaCorda < 0.25 && preso)
{
rb.AddForce(-rb.velocity);
}
}
private int corSelecionada;
private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
public void proximaCor()
{
corSelecionada++;
if (corSelecionada > cores.Length - 1)
{
corSelecionada = 0;
}
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BaloesController : MonoBehaviour
{
public GameObject balao;
private List<GameObject> MeusBaloes = new List<GameObject>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //novo balão
{
Vector2 rd = Random.insideUnitCircle * 3;
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
//configurar balao
Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
meuBalaoNovinho.pivot = transform;
MeusBaloes.Add(novoBalao);
}
//mudar cor
if (Input.GetKeyDown(KeyCode.F))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().proximaCor();
}
}
//sobe e desce
if (Input.GetAxis("Vertical") != 0)
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
}
}
//soltar todos
if (Input.GetKeyDown(KeyCode.E))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().preso = false;
}
MeusBaloes.Clear();
}
}
}
Sobre o Prefab Balão
eu usei uma Esfera e botei como filho um LineRenderer.
a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.
Sobre o cubo
apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes
Controles
W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:Bem vamos lácapim22 escreveu:Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Scripts
o primeiro script é do balão o segundo é do BaloesController
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Baloes : MonoBehaviour
{
public bool preso = true;
public Transform pivot;
private Rigidbody rb;
Renderer material;
public LineRenderer corda;
public float tamanhoDaCorda = 5;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
material = GetComponent<Renderer>();
corSelecionada = Random.Range(0, cores.Length);
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
// Update is called once per frame
void Update()
{
if (preso)
{
corda.SetPosition(1, (pivot.position - transform.position));
}
if (!preso)
{
corda.SetPosition(1,
Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
transform.parent = null;
}
}
private void FixedUpdate()
{
//Fazer
float distancia = Vector3.Distance(pivot.position, transform.position);
if ((distancia < tamanhoDaCorda && preso) || !preso)
{
rb.AddForce(Vector3.up * (Time.deltaTime * 30));
}
else
if(distancia > tamanhoDaCorda && preso)
{
rb.AddForce(Vector3.down * (Time.deltaTime * 30));
}
if (distancia - tamanhoDaCorda < 0.25 && preso)
{
rb.AddForce(-rb.velocity);
}
}
private int corSelecionada;
private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
public void proximaCor()
{
corSelecionada++;
if (corSelecionada > cores.Length - 1)
{
corSelecionada = 0;
}
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BaloesController : MonoBehaviour
{
public GameObject balao;
private List<GameObject> MeusBaloes = new List<GameObject>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //novo balão
{
Vector2 rd = Random.insideUnitCircle * 3;
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
//configurar balao
Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
meuBalaoNovinho.pivot = transform;
MeusBaloes.Add(novoBalao);
}
//mudar cor
if (Input.GetKeyDown(KeyCode.F))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().proximaCor();
}
}
//sobe e desce
if (Input.GetAxis("Vertical") != 0)
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
}
}
//soltar todos
if (Input.GetKeyDown(KeyCode.E))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().preso = false;
}
MeusBaloes.Clear();
}
}
}
Sobre o Prefab Balão
eu usei uma Esfera e botei como filho um LineRenderer.
a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.
Sobre o cubo
apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes
Controles
W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia muito obg por td! video e script!!
Porem oq acontece comigo e somente na hora de instanciar tipo o primeiro balao q ja esta na cena funciona td perfeitamente , porem ao entrar no meu inventario e instanciar outro balao ja nao obdece os comandos de troca de cor , de movimentos etc....
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:Bem vamos lácapim22 escreveu:Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Scripts
o primeiro script é do balão o segundo é do BaloesController
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Baloes : MonoBehaviour
{
public bool preso = true;
public Transform pivot;
private Rigidbody rb;
Renderer material;
public LineRenderer corda;
public float tamanhoDaCorda = 5;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
material = GetComponent<Renderer>();
corSelecionada = Random.Range(0, cores.Length);
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
// Update is called once per frame
void Update()
{
if (preso)
{
corda.SetPosition(1, (pivot.position - transform.position));
}
if (!preso)
{
corda.SetPosition(1,
Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
transform.parent = null;
}
}
private void FixedUpdate()
{
//Fazer
float distancia = Vector3.Distance(pivot.position, transform.position);
if ((distancia < tamanhoDaCorda && preso) || !preso)
{
rb.AddForce(Vector3.up * (Time.deltaTime * 30));
}
else
if(distancia > tamanhoDaCorda && preso)
{
rb.AddForce(Vector3.down * (Time.deltaTime * 30));
}
if (distancia - tamanhoDaCorda < 0.25 && preso)
{
rb.AddForce(-rb.velocity);
}
}
private int corSelecionada;
private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
public void proximaCor()
{
corSelecionada++;
if (corSelecionada > cores.Length - 1)
{
corSelecionada = 0;
}
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BaloesController : MonoBehaviour
{
public GameObject balao;
private List<GameObject> MeusBaloes = new List<GameObject>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //novo balão
{
Vector2 rd = Random.insideUnitCircle * 3;
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
//configurar balao
Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
meuBalaoNovinho.pivot = transform;
MeusBaloes.Add(novoBalao);
}
//mudar cor
if (Input.GetKeyDown(KeyCode.F))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().proximaCor();
}
}
//sobe e desce
if (Input.GetAxis("Vertical") != 0)
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
}
}
//soltar todos
if (Input.GetKeyDown(KeyCode.E))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().preso = false;
}
MeusBaloes.Clear();
}
}
}
Sobre o Prefab Balão
eu usei uma Esfera e botei como filho um LineRenderer.
a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.
Sobre o cubo
apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes
Controles
W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
capim22 escreveu:dutrabr100 escreveu:Bem vamos lácapim22 escreveu:Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Scripts
o primeiro script é do balão o segundo é do BaloesController
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Baloes : MonoBehaviour
{
public bool preso = true;
public Transform pivot;
private Rigidbody rb;
Renderer material;
public LineRenderer corda;
public float tamanhoDaCorda = 5;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
material = GetComponent<Renderer>();
corSelecionada = Random.Range(0, cores.Length);
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
// Update is called once per frame
void Update()
{
if (preso)
{
corda.SetPosition(1, (pivot.position - transform.position));
}
if (!preso)
{
corda.SetPosition(1,
Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
transform.parent = null;
}
}
private void FixedUpdate()
{
//Fazer
float distancia = Vector3.Distance(pivot.position, transform.position);
if ((distancia < tamanhoDaCorda && preso) || !preso)
{
rb.AddForce(Vector3.up * (Time.deltaTime * 30));
}
else
if(distancia > tamanhoDaCorda && preso)
{
rb.AddForce(Vector3.down * (Time.deltaTime * 30));
}
if (distancia - tamanhoDaCorda < 0.25 && preso)
{
rb.AddForce(-rb.velocity);
}
}
private int corSelecionada;
private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
public void proximaCor()
{
corSelecionada++;
if (corSelecionada > cores.Length - 1)
{
corSelecionada = 0;
}
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BaloesController : MonoBehaviour
{
public GameObject balao;
private List<GameObject> MeusBaloes = new List<GameObject>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //novo balão
{
Vector2 rd = Random.insideUnitCircle * 3;
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
//configurar balao
Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
meuBalaoNovinho.pivot = transform;
MeusBaloes.Add(novoBalao);
}
//mudar cor
if (Input.GetKeyDown(KeyCode.F))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().proximaCor();
}
}
//sobe e desce
if (Input.GetAxis("Vertical") != 0)
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
}
}
//soltar todos
if (Input.GetKeyDown(KeyCode.E))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().preso = false;
}
MeusBaloes.Clear();
}
}
}
Sobre o Prefab Balão
eu usei uma Esfera e botei como filho um LineRenderer.
a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.
Sobre o cubo
apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes
Controles
W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg
instancia varios baloes e verifica se eles estao todos com a variável publica conectado como true
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:capim22 escreveu:dutrabr100 escreveu:Bem vamos lácapim22 escreveu:Ja estou preso nisso a quase 3 meses, nao consigo por na cabeca de como fazer , ja li youtube,google e n da certo,,dutrabr100 escreveu:e nao tenho facebook
teria alguma possibilidade de vc fazer um remoto e me ajudar por favor?
Scripts
o primeiro script é do balão o segundo é do BaloesController
- Código:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Random = UnityEngine.Random;
public class Baloes : MonoBehaviour
{
public bool preso = true;
public Transform pivot;
private Rigidbody rb;
Renderer material;
public LineRenderer corda;
public float tamanhoDaCorda = 5;
// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody>();
material = GetComponent<Renderer>();
corSelecionada = Random.Range(0, cores.Length);
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
// Update is called once per frame
void Update()
{
if (preso)
{
corda.SetPosition(1, (pivot.position - transform.position));
}
if (!preso)
{
corda.SetPosition(1,
Vector3.Lerp(corda.GetPosition(1), (pivot.position + Vector3.down * tamanhoDaCorda), Time.deltaTime));
transform.parent = null;
}
}
private void FixedUpdate()
{
//Fazer
float distancia = Vector3.Distance(pivot.position, transform.position);
if ((distancia < tamanhoDaCorda && preso) || !preso)
{
rb.AddForce(Vector3.up * (Time.deltaTime * 30));
}
else
if(distancia > tamanhoDaCorda && preso)
{
rb.AddForce(Vector3.down * (Time.deltaTime * 30));
}
if (distancia - tamanhoDaCorda < 0.25 && preso)
{
rb.AddForce(-rb.velocity);
}
}
private int corSelecionada;
private Color[] cores = {Color.yellow, Color.blue, Color.cyan, Color.green, Color.red};
public void proximaCor()
{
corSelecionada++;
if (corSelecionada > cores.Length - 1)
{
corSelecionada = 0;
}
material.material.SetColor("_BaseColor", cores[corSelecionada]);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BaloesController : MonoBehaviour
{
public GameObject balao;
private List<GameObject> MeusBaloes = new List<GameObject>();
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.Space)) //novo balão
{
Vector2 rd = Random.insideUnitCircle * 3;
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y), Quaternion.identity, transform);
//configurar balao
Baloes meuBalaoNovinho = novoBalao.GetComponent<Baloes>();
meuBalaoNovinho.pivot = transform;
MeusBaloes.Add(novoBalao);
}
//mudar cor
if (Input.GetKeyDown(KeyCode.F))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().proximaCor();
}
}
//sobe e desce
if (Input.GetAxis("Vertical") != 0)
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().tamanhoDaCorda += Input.GetAxis("Vertical") * (Time.deltaTime * 3);
}
}
//soltar todos
if (Input.GetKeyDown(KeyCode.E))
{
foreach (var meuBalao in MeusBaloes)
{
meuBalao.GetComponent<Baloes>().preso = false;
}
MeusBaloes.Clear();
}
}
}
Sobre o Prefab Balão
eu usei uma Esfera e botei como filho um LineRenderer.
a esfera, possui RigidBody com todas Constraints de rotação bloqueadas e com Use Gravity falso. e ela possui o script Baloes (que coloquei acima), a variavel corda é o LineRenderer do obj filho dela e criei e adicionei um material.
Sobre o cubo
apenas um cubo comum, botei o meu BaloesController nele e tirei o Collider pra evitar um problema nos meus testes
Controles
W/S ou Setas Cima/Baixo - aumenta ou diminui o tamanho da corda dos baloes
F - muda a cor dos baloes
E - solta todos baloes
bom dia obg por td. porem meu erro esta no seguinte :
no balao q ja esta na cena ele obdece td movimentos,troca de cores , so qd vou instanciar outro no meu inventario essa instancia n aceita nada nem troca de cores nem movimentos !! obg
instancia varios baloes e verifica se eles estao todos com a variável publica conectado como true
sim qd instancio esta cmo conectado true
acho q o probelma esta nesses Find !!using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class Linha1 : MonoBehaviour{public Rigidbody rb;public LineRenderer lineRender;private float distance = 40;public float spd = 1f;public bool conectado = true;private texturasBandeira _texturasBandeira;public GameObject bandeira;// private mudarBandeira _mudarBandeira;void Start(){lineRender.gameObject.SetActive(true);_texturasBandeira = FindObjectOfType(typeof(texturasBandeira)) as texturasBandeira;rb = GetComponent<Rigidbody>();rb.isKinematic = true;//bandeira.gameObject.SetActive (false);}// Update is called once per framevoid Update(){if (conectado){conectado = true;GameObject player = GameObject.Find("Player");if (Vector3.Distance(transform.position, player.transform.position) > distance){transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f); // <<<}//if (Input.GetKey("w") || subir.pressed )//{//transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);// transform.Translate(0, -0.05f, 0.1f);//}//else if (Input.GetKey("s") || descer.pressed)//{// transform.position = Vector3.MoveTowards(transform.position, player.transform.position, 0.05f);//}if (Vector3.Distance(player.transform.position, transform.position) > 35){bandeira.gameObject.SetActive (true);// rb.isKinematic = false;// lineRender.gameObject.active = false;// conectado = false;}}}public void liberarBalao(){conectado = false;GameObject bl = GameObject.FindWithTag("balao");bl.transform.gameObject.tag = "floor";GameObject bd = GameObject.FindWithTag("trocarBand");bd.GetComponent<EventTrigger>().enabled = false;GameObject cb = GameObject.FindWithTag("trocarCorBalao");cb.GetComponent<EventTrigger>().enabled = false;rb.isKinematic = false;lineRender.gameObject.SetActive(false);}}Ja estou a meses nisso kkk
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.
acho que o problema deve estar nesse EventTrigger
os baloes estao subindo e descendo normal ?
Re: Instanciar objetos e controla los!!
dutrabr100 escreveu:
primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.
acho que o problema deve estar nesse EventTrigger
os baloes estao subindo e descendo normal ?
Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
capim22 escreveu:dutrabr100 escreveu:
primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.
acho que o problema deve estar nesse EventTrigger
os baloes estao subindo e descendo normal ?
Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!
vc pode me ajudar remotamente por favor? ja estou um tempao nisso ja pesuiqzei muito e nada!!
capim22- Avançado
- PONTOS : 2045
REPUTAÇÃO : 20
Respeito as regras :
Re: Instanciar objetos e controla los!!
capim22 escreveu:dutrabr100 escreveu:
primeiramente o Player ta sendo botado dentro do update, tu poderia apenas criar uma variavel e botar o find no Start.
acho que o problema deve estar nesse EventTrigger
os baloes estao subindo e descendo normal ?
Entao somente o balao q ja esta na cena q sobe e troca de cor , mas cmo vou ter um inventario e instancia los , e ao instancialo ou ate msm fazer um clone dese da cena o clone tb n aceita nenhum omando somente o da cena!!
nem precisa ser um inventario complexo.
quando tu usa o Instantiate, ele retorna um tipo GameObject que é o que tu acabou de instanciar
- Código:
GameObject novoBalao = Instantiate(balao, transform.position + new Vector3(rd.x, 2, rd.y),Quaternion.identity,transform);
agora só falta uma forma de armazenar, nesse caso eu diria que uma List é mais coveniente, por que ela se "estica" e "encolhe" enquanto um array é de tamanho fixo
- Código:
private List<GameObject> MeusBaloes = new List<GameObject>();
ai é só adicionar
- Código:
MeusBaloes.Add(novoBalao);
ai pra dar um comando a todos baloes basta usar um foreach ou um for
Tópicos semelhantes
» [RESLVIDO] Unity - "transform.SetParent()" em 2 objetos move outros objetos
» BUG EM OBJETOS
» OBJETOS PISCANDO
» Atravessar objetos.
» Objetos coletaveis
» BUG EM OBJETOS
» OBJETOS PISCANDO
» Atravessar objetos.
» Objetos coletaveis
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos