Objetos duplicados ao instanciar
5 participantes
Página 1 de 1
Objetos duplicados ao instanciar
Ae, galera, belezera?
Sou novo no forum, no mundo de desenvolvimento e mais ainda em Unity e c#. Comecei buscar conhecimento (insira aqui o meme do ET Bilu) depois de ter uma ideia de um joguinho bem simples, que poderei contar mais sobre ele depois, em outro tópico.
Mas indo ao ponto,
Preciso instanciar um objeto (que é prefab) sempre que clico na tela. O problema é que quando clico, esse objeto é criado em dobro do numero anterior, tipo, na primeira vez cai um (aí beleza), na segunda dois, na terceira 4 e assim vai. Qual seria o problema? Ja dei uma olhada aqui no grupo e n consegui achar nada :/
Sou novo no forum, no mundo de desenvolvimento e mais ainda em Unity e c#. Comecei buscar conhecimento (insira aqui o meme do ET Bilu) depois de ter uma ideia de um joguinho bem simples, que poderei contar mais sobre ele depois, em outro tópico.
Mas indo ao ponto,
Preciso instanciar um objeto (que é prefab) sempre que clico na tela. O problema é que quando clico, esse objeto é criado em dobro do numero anterior, tipo, na primeira vez cai um (aí beleza), na segunda dois, na terceira 4 e assim vai. Qual seria o problema? Ja dei uma olhada aqui no grupo e n consegui achar nada :/
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class blocoPlayer : MonoBehaviour
{
public Vector3 posicao;
void Start()
{
posicao = transform.position;
}
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Instantiate(gameObject, posicao, transform.localRotation);
}
}
void OnBecameInvisible()
{
Destroy(gameObject);
}
}
jfscrd- Iniciante
- PONTOS : 2373
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : Estudante de Sistemas de Informação
Respeito as regras :
Re: Objetos duplicados ao instanciar
cara o seu codigo esta certo, use uma boleana que fica true com o click, e coloque ela para instanciar e quando instacia deixa ela falsa
Re: Objetos duplicados ao instanciar
Ou.. utiliza GetMouseButtonUp(0);
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Objetos duplicados ao instanciar
Boa noite brodi! testa assim:
Abraço!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour
{
public GameObject prefab;
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
GameObject go = Instantiate(prefab, transform.position, transform.rotation);
Destroy(go.gameObject, 2.0f);
}
}
}
Abraço!
Re: Objetos duplicados ao instanciar
dstaroski escreveu:Boa noite brodi! testa assim:funciona 100%.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour
{
public GameObject prefab;
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
GameObject go = Instantiate(prefab, transform.position, transform.rotation);
Destroy(go.gameObject, 2.0f);
}
}
}
Abraço!
Mano, troquei pra isso, não cai nada quando clico, só o inicial mesmo :/
jfscrd- Iniciante
- PONTOS : 2373
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : Estudante de Sistemas de Informação
Respeito as regras :
Re: Objetos duplicados ao instanciar
Dom3000 escreveu:cara o seu codigo esta certo, use uma boleana que fica true com o click, e coloque ela para instanciar e quando instacia deixa ela falsa
ou, tentei fazer isso, n deu muito certo uashuiahsas
mas tipo:
A verificação é feita (no if, que é boleano, certo?), se ela for verdadeira, entra na condição;
A condição instancia o objeto;
Volta a verificação (no update), enquanto eu não clico, a condição não é verdadeira, por isso não cai o objeto.
Então por que cargas d'agua
1 - Em C tem o While.. seria melhor eu tirar o if e passar pra algo semelhante ao while?
2 - O foda é que a verificação ta de boa, o foda é na hora de instanciar.
PQP pensava que isso seria mais de boa aposasaoska
jfscrd- Iniciante
- PONTOS : 2373
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : Estudante de Sistemas de Informação
Respeito as regras :
Re: Objetos duplicados ao instanciar
putz véi, eu inclusive uso no meu aqui e funfa...jfscrd escreveu:dstaroski escreveu:Boa noite brodi! testa assim:funciona 100%.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teste : MonoBehaviour
{
public GameObject prefab;
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
GameObject go = Instantiate(prefab, transform.position, transform.rotation);
Destroy(go.gameObject, 2.0f);
}
}
}
Abraço!
Mano, troquei pra isso, não cai nada quando clico, só o inicial mesmo :/
Re: Objetos duplicados ao instanciar
pelo seu código acho q aconteci o seguinte, já q vc esta instaciando o proprio gameobjecto, ja q vc instançia 1 e se tiver outro na hora de instanciar,no geral se tiver outro enquanto vc instacia mais 1 com o mesmo script scipt, os scripts sao duplicados e os objetos tambem sao duplicados,quanto mais objetos na cena na hora d instancia, mais multiplicados serao,
no Exemplo do @dstaroski ,funfou tambem;
vc adiciounou o rigidbody no objeto prefab da pasta /Assets,
se eu estiver errado me corrigam please,ainda sou meio desinteligente huehuehue...
Boa dia.
no Exemplo do @dstaroski ,funfou tambem;
vc adiciounou o rigidbody no objeto prefab da pasta /Assets,
se eu estiver errado me corrigam please,ainda sou meio desinteligente huehuehue...
Boa dia.
Re: Objetos duplicados ao instanciar
cara acho que vc resolveu a charada :bounce: :bounce:, não tinha pensado nessa possibilidadeFelipeSouza11 escreveu:pelo seu código acho q aconteci o seguinte, já q vc esta instaciando o proprio gameobjecto, ja q vc instançia 1 e se tiver outro na hora de instanciar,no geral se tiver outro enquanto vc instacia mais 1 com o mesmo script scipt, os scripts sao duplicados e os objetos tambem sao duplicados,quanto mais objetos na cena na hora d instancia, mais multiplicados serao,
no Exemplo do @dstaroski ,funfou tambem;
vc adiciounou o rigidbody no objeto prefab da pasta /Assets,
se eu estiver errado me corrigam please,ainda sou meio desinteligente huehuehue...
Boa dia.
Tópicos semelhantes
» [RESLVIDO] Unity - "transform.SetParent()" em 2 objetos move outros objetos
» BUG EM OBJETOS
» Inventário de objetos 2D
» Controle Objetos 3D
» Spawn de objetos
» BUG EM OBJETOS
» Inventário de objetos 2D
» Controle Objetos 3D
» Spawn de objetos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos