[RESOLVIDO] Porque o Vector2.Distance não está funcionando?
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Porque o Vector2.Distance não está funcionando?
Eu criei um código bem simples onde um objeto deveria ficar desativado até eu chegar perto dele, mas quando eu dou o play ele continua ativo e se eu desativo ele manualmente e chego perto dele ele não ativa de volta.
Meu código:
Meu código:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(transform.position, player.transform.position);
if(distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
Hamassfall- Avançado
- PONTOS : 2067
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
nibirou- MembroAvançado
- PONTOS : 2073
REPUTAÇÃO : 15
Áreas de atuação : C#,C++,produção de audio
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
continua dando os mesmos problemas :/nibirou escreveu:
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
Hamassfall- Avançado
- PONTOS : 2067
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
Hamassfall escreveu:continua dando os mesmos problemas :/nibirou escreveu:
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
que estranho aqui o script está no player e ta funcionando
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(player.transform.position, popUp.transform.position);
if (distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
nibirou- MembroAvançado
- PONTOS : 2073
REPUTAÇÃO : 15
Áreas de atuação : C#,C++,produção de audio
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
Eu fiz um outro GameObect com o nome de PopUp na cena e coloquei o script nele, mas agora ele ta ficando ativo direto(lembrando q o objeto eu anexei ao script é diferente do objeto q eu criei na cena)nibirou escreveu:Hamassfall escreveu:continua dando os mesmos problemas :/nibirou escreveu:
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
que estranho aqui o script está no player e ta funcionando
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(player.transform.position, popUp.transform.position);
if (distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(popUp.transform.position, player.transform.position);
if(distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
Hamassfall- Avançado
- PONTOS : 2067
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
Vou tentar explicar melhorHamassfall escreveu:Eu fiz um outro GameObect com o nome de PopUp na cena e coloquei o script nele, mas agora ele ta ficando ativo direto(lembrando q o objeto eu anexei ao script é diferente do objeto q eu criei na cena)nibirou escreveu:Hamassfall escreveu:continua dando os mesmos problemas :/nibirou escreveu:
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
que estranho aqui o script está no player e ta funcionando
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(player.transform.position, popUp.transform.position);
if (distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(popUp.transform.position, player.transform.position);
if(distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
Basicamente, eu tenho um sprite q precisa ser ativado quando eu chego perto dele e desativado quando eu vou embora.
Eu criei um objeto chamado popUp na cena do jogo, onde eu coloquei o script do sprite q vai aparecer e anexei o sprite ao objeto popUp q eu criei dentro do script(isso faz com q eu tenha um objeto chamado popUp dentro do script e outro fora), teoricamente isso deveria funcionar, já q o objeto onde eu coloquei o script não está sendo desativado ou ativado em nenhum momento, ele só está ali para gerenciar o sprite, mas agora o sprite não está desativando, quando eu dou play ele já começa ativado direto(uma coisa q eu notei é q eu não to nem conseguindo desativar ele manualmente mais)
Hamassfall- Avançado
- PONTOS : 2067
REPUTAÇÃO : 7
Respeito as regras :
Re: [RESOLVIDO] Porque o Vector2.Distance não está funcionando?
Consegui resolver fazendo dessa forma:Hamassfall escreveu:Vou tentar explicar melhorHamassfall escreveu:Eu fiz um outro GameObect com o nome de PopUp na cena e coloquei o script nele, mas agora ele ta ficando ativo direto(lembrando q o objeto eu anexei ao script é diferente do objeto q eu criei na cena)nibirou escreveu:Hamassfall escreveu:continua dando os mesmos problemas :/nibirou escreveu:
tava tentando descobrir o problema e acho que na verdade é onde está seu script, eu acho que tu colocou ele no gameobject "popUp" portanto como ele começa desativado
o script que ta nele então não funciona, coloca esse script no player e só troca o "player.transform.position" para "popUp.transform.position"
que estranho aqui o script está no player e ta funcionando
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(player.transform.position, popUp.transform.position);
if (distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(popUp.transform.position, player.transform.position);
if(distanciaMinima < distanciaDoPlayer)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
Basicamente, eu tenho um sprite q precisa ser ativado quando eu chego perto dele e desativado quando eu vou embora.
Eu criei um objeto chamado popUp na cena do jogo, onde eu coloquei o script do sprite q vai aparecer e anexei o sprite ao objeto popUp q eu criei dentro do script(isso faz com q eu tenha um objeto chamado popUp dentro do script e outro fora), teoricamente isso deveria funcionar, já q o objeto onde eu coloquei o script não está sendo desativado ou ativado em nenhum momento, ele só está ali para gerenciar o sprite, mas agora o sprite não está desativando, quando eu dou play ele já começa ativado direto(uma coisa q eu notei é q eu não to nem conseguindo desativar ele manualmente mais)
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PopUp : MonoBehaviour
{
public GameObject popUp;
public float distanciaMinima;
public GameObject player;
void Start()
{
popUp.SetActive(false);
}
void Update()
{
float distanciaDoPlayer = Vector2.Distance(popUp.transform.position, player.transform.position);
if(distanciaDoPlayer < distanciaMinima)
{
popUp.SetActive(true);
}
else
{
popUp.SetActive(false);
}
}
}
Hamassfall- Avançado
- PONTOS : 2067
REPUTAÇÃO : 7
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Não está instanciando
» Porque esse script não esta funcionando alguém poderia me explicar ??
» [RESOLVIDO]NÃO ESTA PEGANDO MENU??
» [RESOLVIDO] Porque meu script não funciona
» [RESOLVIDO] Porque fundo da letra NÃO FICA BRANCO, só fica invisivel
» Porque esse script não esta funcionando alguém poderia me explicar ??
» [RESOLVIDO]NÃO ESTA PEGANDO MENU??
» [RESOLVIDO] Porque meu script não funciona
» [RESOLVIDO] Porque fundo da letra NÃO FICA BRANCO, só fica invisivel
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos