Ir ao conteúdo
  • Cadastre-se

C# Programação de um jogo


Gustavo L1m4

Posts recomendados

	if (Physics2D.Raycast(transform.position,transform.forward,100))
		{
			if(hit5.transform.gameObject.GetComponent<Rigidbody2D> () !=null){
			if (Input.GetKeyDown ("z")) {
					Debug.Log("esta dentro do raio");
ver=hit5.transform.GetComponent("inimigosbasicos");  //inimigobasico é o script 
ver.vidadobootbasico;  //este vidabootbasico é a variavel que eu quero puxar 
		}
			}
		}

Boa noite galera do então estou fazendo um jogo em Unity2D mas estou com um erro que não consigo resolver, estou querendo puxar a variavel de um outro script que esta em um raycasthit, já procurei um monte na internet e até agora nada,quem puder me ajudar fico muito grato.segue código para quem não entendeu a ideia.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Essa Classe ver tem uma variavel chamada vidadobootbasico? qual o erro especifico que está dando no console?
essa variavel é estática ou não?
do jeito que escreveu está mais parecendo uma função do que uma  variável sendo que não tem nenhuma atribuição sendo aplicada nela, visto que é uma variavel teriamos que ter uma atribuição a ela, ali você simplesmente não está fazendo nada com ela!

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

1 hora atrás, The IT Guys disse:

Essa Classe ver tem uma variavel chamada vidadobootbasico? qual o erro especifico que está dando no console?
essa variavel é estática ou não?
do jeito que escreveu está mais parecendo uma função do que uma  variável sendo que não tem nenhuma atribuição sendo aplicada nela, visto que é uma variavel teriamos que ter uma atribuição a ela, ali você simplesmente não está fazendo nada com ela!

 Consegui resolver o problema, você esta certo eu tava puxando uma função e não uma variável.

    Mas só por curiosidade como eu faria para chamar uma variável ao invés de uma void e no caso ver é uma variável e a variável está estática.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Em 19/07/2019 às 14:46, Gustavo L1m4 disse:

 Consegui resolver o problema, você esta certo eu tava puxando uma função e não uma variável.

    Mas só por curiosidade como eu faria para chamar uma variável ao invés de uma void e no caso ver é uma variável e a variável está estática.

 

Se a variável estiver declarada da seguinte forma:

//Classe da variavel
public class Variaveis{
//Declaraçao da Variavel
public static int VariavelInteira = 0;
}


Você poderá puxar o valor dela de forma direta por meio de outra classe simplesmente dizendo o nome da classe como exemplo a seguir:

public class PuxaVariavel{
	
  	//Metodo que puxa as variaveis da outra classe criada no caso a classe "Variaveis"
	void funcao(){
 		Variaveis.VariavelInteira += 1;
		//Adiciona 1 ao valor atual da VariavelInteira da classe Variaveis
  	}

}


No exempla acima puxamos a variável e incrementamos 1 valor ao valor atual dela.

Mas caso a variável não seja estática, seja apenas publica, será necessária a criação de um objeto para a utilização da variável em outra classe, conforme exemplo a seguir

 

public class Variaveis{
//Variaveis estáticas
public static int VariavelInteira = 0;
//Variaveis publicas comuns
public int variavelComumInteira = 0;
}

Agora puxando essa variável em outra classe:

public class PuxaVariavel{
	
	void funcao(){
        //Adiciona 1 ao valor atual da VariavelInteira da classe Variaveis
 		Variaveis.VariavelInteira += 1;
      
		//Cria um objeto para a classe Variaveis
		Variaveis novoObjeto = new Variaveis();
		//Puxa a variavel atraves do objeto criado para ela
		novoObjeto.VariavelComum += 1;			
  	}
}

Espero que tenha ficado claro kkkkk
A propósito tenha um Bom Dia!!



 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...