SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Delay na animação
Utilizar um software que não pode ser usado para fins comerciais
Unity 3D Pulo do Personagem na hora em que o Personagem está saindo do chão
Colocar o código certo para abrir porta
Ajuda em documentação de shader
+1 OW 2
movimtnos com Motodo void
Bug unity android UI
Component Cloth unity
Inimigo detecta outro Inimigo.
Instanciar objetos e controla los!!
[TUTORIAL] AI Enemy 2.0 + animações ( Jogos de terror )
List
não deixar que exista dois DontDestroyOnLoad
Cronometro par Inimigo como se faz ?
Peso de processamento de modelos 3D
[TUTORIAL] Sistema simples para VOLTAR NO TEMPO, Unity 3D
Passar texturas de Maya para unity
Assets tirando fisica do terreno
teleportar o player quando ele cair fora do mapa
3D Text Material Sobressalente
Passar as texturas do Blender para a Unity
Não consigo alterar "nada" no unity
Erro no SketchUP
Como habilitar um scritpt depois que ele foi desabilitado
Arrastar e conectar
Math Key Puzzle (Disponível na Play Store)
(Duvida) Melhor versão da unity para projetos 3D
Como criar uma Barra de Ataque speed para um personagem
Script não funcionando.
Eixos trocados na movimentação do jogador
Como desenvolver um sistema de colisão sem usar os componentes da Unity?
Collab Arruinando meu Projeto
Oportunidade de Freelancer
Alguém sabe como criar um objeto aleatório
Movimentação de jogador através de animação
Achar objeto que não esta na cena
Chamar um objeto FBX para a cena por meio de um botão
(Dúvida) dificuldade em modelagem e animações
Como faço pra um objeto/item acionar um evento?
Como posso fazer uma barra de vida encher denovo
Textura escura
Animação em texto
Mesh Collider
[FORMAÇÃO DE EQUIPE] PERSONAGENS E ITENS PIXEL ART
Top Tipos de Jogos Mobile Android
Programe seus jogos mesmo sem saber C# (BOLT ⚡)
Dúvida sobre Character Controller
Testadores/ Voluntários - De olho na fake (jogo Educativo)
Ajuda com Cutscene
Ajuda com key em script
BTD(Brazil Tower Defense) WIP
Como criar vários objetos a partir de um? (Unity)
Objeto 3D
Posição bloco/tile endless 2D
Como acessar a função de um outro Script? (Unity)
todo filho herda a tag do pai ?
[TUTORIAL] Como fazer um TELEPORTE
Duvida sobre exceso de declaracao de variaveis publicas.
Como aumentar o tamanho de um objeto no eixo Z por um slider?
Duvida sobre proteção de projeto na unity.
Como jogo o valor de uma Int em uma IEnumerator?
Como faço para desativar o pós-processamento em outra cena
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Textura no material importado
PHP
Ajuda em Modelo 3D
Como limitar ate onde a câmera do unity2D pode ir?
Standard Assets para UNITY 5 em ".unitypackage"
Como faço pra carregar os itens de uma Cena Para outra?
Joystick mobile
Cenário se reposicionar no eixo z, quando o player se move pelo cenário.
Mudar a cor de um material Alpha Blended por script
como faço para o personagem andar só que no ar?
[TUTORIAL] Teleporte
Ajuda com IA de inimigo
Qual o tutorial mais simples sobre criar um personagem 3d com melee attack?
Colider--Unity
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
Como rodar tela de Gameover?
(Duvida) Como criar um sistema de dialogos?
carregar um mapa por .txt
Como obter dados do Grid Layout Group.
Camera em primeira pessoa que mostra o corpo
Plataforma Flutuante
como faço um multiplayer na unity 5?
SCRIPT TIRO - UNITY 3d
Online Shooting Android
Um projeto sem nome ainda (Fazendo nas horas vagas)
[ FIND ME ] Game em Desenvolvimento
[Projeto em Andamento] Favela Combat - Multiplayer online (Android & iOS)
Baixos Brasil - Jogo de Carro Brasileiro!
Riders Of Dungeons - Jogo RPG Souls like
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Duvida sobre .asset
Escape from the hospital (Em teste)
Ajuda com gameObject
Ajuda com erro no package de pós-processamento
Shader Graph, mateiral rosa???
Hoje à(s) 3:12 am
Hoje à(s) 2:05 am
Ontem à(s) 10:55 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:41 pm
Qua Abr 14, 2021 8:17 pm
Qua Abr 14, 2021 4:47 pm
Ter Abr 13, 2021 8:17 pm
Ter Abr 13, 2021 7:45 pm
Ter Abr 13, 2021 6:17 pm
Ter Abr 13, 2021 2:57 pm
Ter Abr 13, 2021 10:08 am
Dom Abr 11, 2021 3:31 pm
Dom Abr 11, 2021 12:03 am
Sab Abr 10, 2021 2:47 pm
Sex Abr 09, 2021 10:11 pm
Sex Abr 09, 2021 5:23 pm
Sex Abr 09, 2021 2:10 pm
Sex Abr 09, 2021 1:21 pm
Qui Abr 08, 2021 8:11 pm
Qui Abr 08, 2021 8:06 pm
Qui Abr 08, 2021 6:50 pm
Qui Abr 08, 2021 6:44 pm
Qui Abr 08, 2021 11:24 am
Qui Abr 08, 2021 11:23 am
Qui Abr 08, 2021 8:17 am
Qua Abr 07, 2021 8:34 pm
Qua Abr 07, 2021 7:39 pm
Qua Abr 07, 2021 5:27 pm
Qua Abr 07, 2021 3:27 pm
Qua Abr 07, 2021 12:03 pm
Qua Abr 07, 2021 8:43 am
Qua Abr 07, 2021 6:27 am
Ter Abr 06, 2021 1:17 pm
Ter Abr 06, 2021 12:44 pm
Ter Abr 06, 2021 12:40 pm
Seg Abr 05, 2021 3:41 pm
Seg Abr 05, 2021 1:19 pm
Dom Abr 04, 2021 11:55 pm
Dom Abr 04, 2021 10:02 pm
Dom Abr 04, 2021 7:03 pm
Dom Abr 04, 2021 5:53 pm
Dom Abr 04, 2021 12:14 pm
Dom Abr 04, 2021 1:06 am
Sab Abr 03, 2021 8:26 pm
Sab Abr 03, 2021 8:06 pm
Sab Abr 03, 2021 7:20 pm
Sab Abr 03, 2021 1:23 pm
Sex Abr 02, 2021 2:14 am
Qui Abr 01, 2021 9:34 pm
Qui Abr 01, 2021 5:18 pm
Qui Abr 01, 2021 4:57 pm
Qui Abr 01, 2021 7:42 am
Qua Mar 31, 2021 9:36 pm
Qua Mar 31, 2021 10:41 am
Ter Mar 30, 2021 8:53 pm
Ter Mar 30, 2021 8:49 pm
Ter Mar 30, 2021 3:10 pm
Ter Mar 30, 2021 1:38 pm
Ter Mar 30, 2021 12:35 pm
Seg Mar 29, 2021 11:07 pm
Seg Mar 29, 2021 8:37 pm
Seg Mar 29, 2021 8:16 pm
Seg Mar 29, 2021 5:32 pm
Seg Mar 29, 2021 1:53 pm
Dom Mar 28, 2021 4:13 pm
Dom Mar 28, 2021 1:19 am
Dom Mar 28, 2021 12:17 am
Sab Mar 27, 2021 10:30 pm
Sab Mar 27, 2021 8:33 pm
Sab Mar 27, 2021 8:06 pm
Sab Mar 27, 2021 2:51 pm
Sab Mar 27, 2021 8:53 am
Sab Mar 27, 2021 8:05 am
Sex Mar 26, 2021 3:15 pm
Sex Mar 26, 2021 12:50 pm
Sex Mar 26, 2021 8:28 am
Sex Mar 26, 2021 7:05 am
Qui Mar 25, 2021 7:16 pm
Qui Mar 25, 2021 7:13 pm
Qui Mar 25, 2021 2:44 pm
Qui Mar 25, 2021 11:20 am
Qui Mar 25, 2021 9:15 am
Qua Mar 24, 2021 7:56 pm
Qua Mar 24, 2021 7:53 pm
Qua Mar 24, 2021 6:54 pm
Qua Mar 24, 2021 1:01 pm
Qua Mar 24, 2021 12:27 pm
Qua Mar 24, 2021 12:04 pm
Qua Mar 24, 2021 12:03 pm
Qua Mar 24, 2021 12:02 pm
Qua Mar 24, 2021 11:59 am
Qua Mar 24, 2021 11:56 am
Qua Mar 24, 2021 10:08 am
Ter Mar 23, 2021 10:35 pm
Ter Mar 23, 2021 9:49 pm
Ter Mar 23, 2021 5:14 pm
Ter Mar 23, 2021 1:59 pm
Ter Mar 23, 2021 10:32 am
WLCS22
WLCS22
WLCS22
Joana
Joana
hellside
dutrabr100
poyser
capim22
hellside
dutrabr100
RenanHero
Kleber Lucas
diegopds
dutrabr100
ronigleydson
Chilinger
ffabim
tendrozino
gui78h3
MRX
Magnatah
Magnatah
Edivandro2706
Kleber Lucas
Pokedlg
poyser
poyser
kingalphaz1
BrunaFelicio
backup
dutrabr100
conceptfac
Chilinger
luizphelipe
dutrabr100
dutrabr100
SauloeArthur
poyser
Triskal
luizphelipe
darkrj
dutrabr100
Anderson Mello
tulio filipe
rr indie games
Triskal
rr indie games
danielPedra90
Triskal
Triskal
rr indie games
PauloR2811
diegopds
LGC
Pokedlg
adenilson romao
Triskal
rr indie games
Fagner
loucoporjogo
rafaelllsd
Charlesoff
michelcreis@hotmail.com
Edivandro2706
Fagner
adrianobros2
Sergio1223
Zyll
Triskal
RGT2020
dutrabr100
jeancvo3
dkdetroi
Triskal
Charlesoff
dutrabr100
Fagner
dutrabr100
SamusAran
MayLeone
gui78h3
loucoporjogo
RGT
RGT
RGT
faustommat
Daniel Dória
bobESquisito
bobESquisito
bobESquisito
bobESquisito
bobESquisito
michelcreis@hotmail.com
Suphit
bobESquisito
Pokedlg
Charlesoff
Mafuyu

Como acessar a função de um outro Script? (Unity)

Ir em baixo

DÚVIDA Como acessar a função de um outro Script? (Unity)

Mensagem por PauloR2811 Ter Mar 30, 2021 6:15 pm

Já tentei de tudo, tenho dois scripts, um está associado ao objeto de um personagem e o outro eu apenas criei para pegar algumas informações como, velocidade do player, se o jogo está pausado e etc... esse não está associado a nada. Eu criei duas funções no scrpit do jogador, um get e um set, assim posso setar ou pegar o estado do jogo, se está pausado ou não, acontece que eu não consigo de maneira nenhuma acessar essas funções pelo script que eu criei.

Por exemplo:

Script associado ao jogador

Código:
[size=14]public void SetGamePause(bool gamePause) {[/size]


[size=14]    this.gamePause = gamePause;
}
bool GetGamePause() {
 return gamePause;
}[/size]



Dai eu estou tentando acessar essas funções a partir de um script que criei, que não está associado a nada:
Bird bird;

Código:
void Start() {
 bird = new Bird();
}
private void Update() {
 bird.SetGamePause(false);
}



Mas isso me lança uma exception, só quero acessar uma função e não consigo, alguém sabe como eu faço isso? Será que é porque eu preciso associar meu script a alguma coisa, tipo, só criar um objeto pra associar ele? O que eu faço pra acessar essa função?

PauloR2811
Iniciante
Iniciante

PONTOS : 30
REPUTAÇÃO : 3
Respeito as regras : Como acessar a função de um outro Script? (Unity) WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar a função de um outro Script? (Unity)

Mensagem por Pokedlg Ter Mar 30, 2021 8:01 pm

Para conseguir acessar as funções voce poderia torna-las estaticas e nao precisaria instanciar a classe ou voce poderia criar um variavel public ou private e acessar normalmente as variaveis somente publicas e não privadas, como o Metodo GetGamePause que retorna a bool não poderá ser acessado pois ele é private e só pode portanto ser acessado por aquela classe, ou seja, por aquele script, então voce poderia fazer das seguintes maneiras:

Métodos Static:

Métodos, variaveis, funções, classes e etc. estaticas nao precisam ser instaciadas, portanto voce poderia fazer assim. Script Bird:
Código:
static bool gamePause;

public static void SetGamePause(bool gamePause) {
    Bird.gamePause = gamePause;
}

public static bool GetGamePause() {
 return gamePause;
}

E então chamar as essas funções no outro script assim:

Código:
void Update() {
   Bird.SetGamePause(false); //não precisou instanciar o script igual voce tinha feito na void Start()
}


Instanciando o Script:

Voce pode apenas instanciar a classe e para isso não necessita de métodos static, eles teriam que ser publicos para poderem ser acessados. Exemplo.

*No script Bird:

Código:
public void SetGamePause(bool gamePause) {
    this.gamePause = gamePause;
}

public bool GetGamePause() { //note que coloquei public
 return gamePause;
}

E então no outro script voce precisaria instanciar esta classe, pois ela não é static, instanciando-a como uma variavel. Exemplo:

*No script que chamara as funções:
Código:
private Bird bird;

//Nao precisa da void Start

private void Update() {
 bird.SetGamePause(false);
}

Voce também pode instanciar apenas para aquela função, exemplo, apenas na update, ou seja, não precisa ser uma "variavel" que atende a todas as funções, exemplo:
Código:
private void Update() {
 Bird bird = new Bird();
 bird.SetGamePause(false);
}



Se não funcionar voce poderá chamar aqui e mandar o erro
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar a função de um outro Script? (Unity) Aad8pUi

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar a função de um outro Script? (Unity)

Mensagem por PauloR2811 Ter Mar 30, 2021 8:49 pm

@Pokedlg escreveu:Para conseguir acessar as funções voce poderia torna-las estaticas e nao precisaria instanciar a classe ou voce poderia criar um variavel public ou private e acessar normalmente as variaveis somente publicas e não privadas, como o Metodo GetGamePause que retorna a bool não poderá ser acessado pois ele é private e só pode portanto ser acessado por aquela classe, ou seja, por aquele script, então voce poderia fazer das seguintes maneiras:

Métodos Static:

Métodos, variaveis, funções, classes e etc. estaticas nao precisam ser instaciadas, portanto voce poderia fazer assim. Script Bird:
Código:
static bool gamePause;

public static void SetGamePause(bool gamePause) {
    Bird.gamePause = gamePause;
}

public static bool GetGamePause() {
 return gamePause;
}

E então chamar as essas funções no outro script assim:

Código:
void Update() {
   Bird.SetGamePause(false); //não precisou instanciar o script igual voce tinha feito na void Start()
}


Instanciando o Script:

Voce pode apenas instanciar a classe e para isso não necessita de métodos static, eles teriam que ser publicos para poderem ser acessados. Exemplo.

*No script Bird:

Código:
public void SetGamePause(bool gamePause) {
    this.gamePause = gamePause;
}

public bool GetGamePause() { //note que coloquei public
 return gamePause;
}

E então no outro script voce precisaria instanciar esta classe, pois ela não é static, instanciando-a como uma variavel. Exemplo:

*No script que chamara as funções:
Código:
private Bird bird;

//Nao precisa da void Start

private void Update() {
 bird.SetGamePause(false);
}

Voce também pode instanciar apenas para aquela função, exemplo, apenas na update, ou seja, não precisa ser uma "variavel" que atende a todas as funções, exemplo:
Código:
private void Update() {
 Bird bird = new Bird();
 bird.SetGamePause(false);
}



Se não funcionar voce poderá chamar aqui e mandar o erro
Todo esse problema porque esqueci de deixar a função SetGamePause com pública kkkk, mas valeu cara, sua resposta me ajudou a resolver o problema!

PauloR2811
Iniciante
Iniciante

PONTOS : 30
REPUTAÇÃO : 3
Respeito as regras : Como acessar a função de um outro Script? (Unity) WvDYdlf

Voltar ao Topo Ir em baixo

DÚVIDA Re: Como acessar a função de um outro Script? (Unity)

Mensagem por Pokedlg Ter Mar 30, 2021 8:53 pm

Denada  Smile Curti isso
Pokedlg
Pokedlg
ProgramadorMaster

Masculino PONTOS : 776
REPUTAÇÃO : 117
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras : Como acessar a função de um outro Script? (Unity) Aad8pUi

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum