Variáveis para usar em outro script
2 participantes
Página 1 de 1
Variáveis para usar em outro script
Pessoal, queria saber como nomear variáveis diferentes para usá-las em outro script. Vou explicar melhor.
Estou fazendo um jogo de aves, onde posso reproduzi-las e colocá-las para lutar.
Estou com problema no script de Combate.
NovaAve é o script da ave filho. O problema é que eu também quero colocar as "aves pais" para combate, só que elas tem um script e variáveis diferentes.
Acho que não posso colocar as variáveis de pai e filho com o mesmo nome porque as variáveis precisam estar no mesmo script.
Script NovaAve:
Talvez dê para fazer com vários 'if', mas são muitas características além da agressividade. Ou talvez fazer com voids, mas não manjo muito.
Alguém poderia me ajudar?
Obrigado.
Estou fazendo um jogo de aves, onde posso reproduzi-las e colocá-las para lutar.
Estou com problema no script de Combate.
- Código:
galo1 = GameObject.FindGameObjectWithTag("Combatente1");
galo2 = GameObject.FindGameObjectWithTag("Combatente2");
agressividadeGalo1 = galo1.GetComponent<NovaAve>().agressividadeFilho;
agressividadeGalo2 = galo2.GetComponent<NovaAve>().agressividadeFilho;
NovaAve é o script da ave filho. O problema é que eu também quero colocar as "aves pais" para combate, só que elas tem um script e variáveis diferentes.
Acho que não posso colocar as variáveis de pai e filho com o mesmo nome porque as variáveis precisam estar no mesmo script.
Script NovaAve:
- Código:
agressividadePai = pai.GetComponent<AveInicial>().agressividade;
agressividadeMae = mae.GetComponent<AveInicial>().agressividade;
agressividadeFilho = (agressividadePai + agressividadeMae) / 2 + indAgr;
agressividadeFilho = Mathf.Clamp(agressividadeFilho, 1, 10);
Talvez dê para fazer com vários 'if', mas são muitas características além da agressividade. Ou talvez fazer com voids, mas não manjo muito.
Alguém poderia me ajudar?
Obrigado.
JoelMJunior- MembroAvançado
- PONTOS : 2944
REPUTAÇÃO : 13
Respeito as regras :
Re: Variáveis para usar em outro script
Eu não entendi bem.. Desculpa kkkk
Essas aves, tipo.. Se reproduzem e pá.. Daí elas já são colocadas em combate? Eu não entendi muito a proposta do jogo pra conseguir montar uma lógica ;-;
Essas aves, tipo.. Se reproduzem e pá.. Daí elas já são colocadas em combate? Eu não entendi muito a proposta do jogo pra conseguir montar uma lógica ;-;
Re: Variáveis para usar em outro script
É mais ou menos assim: o player recebe duas aves iniciais. Ele coloca elas para reproduzir e nascem aves filhos que herdam as variáveis (características) das aves pais/iniciais. Aves iniciais e aves filhos possuem scripts diferentes.
Eu fiz um script de um sistema de combate. Mas ele está baseado nas variáveis das aves filhos, como no exemplo abaixo:
galo1 = GameObject.FindGameObjectWithTag("Combatente1");
galo2 = GameObject.FindGameObjectWithTag("Combatente2");
agressividadeGalo1 = galo1.GetComponent<NovaAve>().agressividadeFilho;
agressividadeGalo2 = galo2.GetComponent<NovaAve>().agressividadeFilho;
Eu fiz um script de um sistema de combate. Mas ele está baseado nas variáveis das aves filhos, como no exemplo abaixo:
galo1 = GameObject.FindGameObjectWithTag("Combatente1");
galo2 = GameObject.FindGameObjectWithTag("Combatente2");
agressividadeGalo1 = galo1.GetComponent<NovaAve>().agressividadeFilho;
agressividadeGalo2 = galo2.GetComponent<NovaAve>().agressividadeFilho;
JoelMJunior- MembroAvançado
- PONTOS : 2944
REPUTAÇÃO : 13
Respeito as regras :
Re: Variáveis para usar em outro script
Apertei um botão errado e a resposta foi errada. Continuando aqui:
É mais ou menos assim: o player recebe duas aves iniciais. Ele coloca elas para reproduzir e nascem aves filhos que herdam as variáveis (características) das aves pais/iniciais. Aves iniciais e aves filhos possuem scripts diferentes.
Eu fiz um script de um sistema de combate. Mas ele está baseado nas variáveis das aves filhos, como no exemplo abaixo:
Eu queria que ele funcionasse para as aves iniciais também. A única forma seria pedindo para reconhecer se a ave selecionada é filho ou inicial e duplicando todo o script de acordo com as variáveis do script de aves iniciais? Teria uma forma mais eficaz? Com voids (não sei muito usar as voids)?
Como faz para apagar ou editar comentários aqui no fórum?
É mais ou menos assim: o player recebe duas aves iniciais. Ele coloca elas para reproduzir e nascem aves filhos que herdam as variáveis (características) das aves pais/iniciais. Aves iniciais e aves filhos possuem scripts diferentes.
Eu fiz um script de um sistema de combate. Mas ele está baseado nas variáveis das aves filhos, como no exemplo abaixo:
- Código:
galo1 = GameObject.FindGameObjectWithTag("Combatente1");
galo2 = GameObject.FindGameObjectWithTag("Combatente2");
agressividadeGalo1 = galo1.GetComponent().agressividadeFilho;
agressividadeGalo2 = galo2.GetComponent().agressividadeFilho;
Eu queria que ele funcionasse para as aves iniciais também. A única forma seria pedindo para reconhecer se a ave selecionada é filho ou inicial e duplicando todo o script de acordo com as variáveis do script de aves iniciais? Teria uma forma mais eficaz? Com voids (não sei muito usar as voids)?
Como faz para apagar ou editar comentários aqui no fórum?
JoelMJunior- MembroAvançado
- PONTOS : 2944
REPUTAÇÃO : 13
Respeito as regras :
Re: Variáveis para usar em outro script
Voce tem que ser membro avançado ou superior . Mais. Não seria melhor usar um mesmo script para os pais e filhos não?
Re: Variáveis para usar em outro script
Seria. Mas a questão é justamente essa, porque os filhos recebem as características dos pais.
Um trecho do script das aves filhos:
Não consigo pensar em como fazer um só script para pais e filhos. É justamente por isso que no script do combate eu só consigo fazer para os filhos ou para os pais. Mas eu queria que aceitasse os dois. Se tivesse como acessar a variável sem ter que escrever o nome do script, funcionaria. Mas não sei fazer isso.
Pensei em uma solução agora aqui. Posso fazer outro script para receber apenas as variáveis das características e colocar esse script nas aves pais e filhos. Vou testar para ver se funciona. Mas é o mais recomendado? Dá pra fazer isso com voids? Onde posso aprender sobre elas?
Obrigado!
Um trecho do script das aves filhos:
- Código:
[size=14]agressividadePai [/size][size=14]=[/size][size=14] pai[/size][size=14].[/size][size=14]GetComponent[/size][size=14]<[/size][size=14]AveInicial[/size][size=14]>().[/size][size=14]agressividade[/size][size=14];[/size]
[size=14]agressividadeMae [/size][size=14]=[/size][size=14] mae[/size][size=14].[/size][size=14]GetComponent[/size][size=14]<[/size][size=14]AveInicial[/size][size=14]>().[/size][size=14]agressividade[/size][size=14];[/size]
[size=14]agressividadeFilho [/size][size=14]=[/size][size=14] [/size][size=14]([/size][size=14]agressividadePai [/size][size=14]+[/size][size=14] agressividadeMae[/size][size=14])[/size][size=14] [/size][size=14]/[/size][size=14] [/size][size=14]2[/size][size=14] [/size][size=14]+[/size][size=14] indAgr[/size][size=14];[/size]
[size=14]agressividadeFilho [/size][size=14]=[/size][size=14] [/size][size=14]Mathf[/size][size=14].[/size][size=14]Clamp[/size][size=14]([/size][size=14]agressividadeFilho[/size][size=14],[/size][size=14] [/size][size=14]1[/size][size=14],[/size][size=14] [/size][size=14]10[/size][size=14]);[/size]
Não consigo pensar em como fazer um só script para pais e filhos. É justamente por isso que no script do combate eu só consigo fazer para os filhos ou para os pais. Mas eu queria que aceitasse os dois. Se tivesse como acessar a variável sem ter que escrever o nome do script, funcionaria. Mas não sei fazer isso.
Pensei em uma solução agora aqui. Posso fazer outro script para receber apenas as variáveis das características e colocar esse script nas aves pais e filhos. Vou testar para ver se funciona. Mas é o mais recomendado? Dá pra fazer isso com voids? Onde posso aprender sobre elas?
Obrigado!
JoelMJunior- MembroAvançado
- PONTOS : 2944
REPUTAÇÃO : 13
Respeito as regras :
Re: Variáveis para usar em outro script
O código saiu todo bugado. Aqui vai o correto.
- Código:
agressividadePai = pai.GetComponent<AveInicial>().agressividade;
agressividadeMae = mae.GetComponent<AveInicial>().agressividade;
agressividade = (agressividadePai + agressividadeMae) / 2 + indAgr;
agressividade = Mathf.Clamp(agressividade, 1, 10);
JoelMJunior- MembroAvançado
- PONTOS : 2944
REPUTAÇÃO : 13
Respeito as regras :
Tópicos semelhantes
» Posso usar o sistema de marcas de derrapagem como base para outro sistema?
» Como faço para distanciar um objeto do outro pelo script?
» Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
» Preciso de ajuda para substituir valor de variavel em outro script
» UM FIRSTPERSON SCRIPT PARA USAR NO PHOTON:ALGUÉM TEM?
» Como faço para distanciar um objeto do outro pelo script?
» Como usar Vector3.Angles para detectar que algo está na frente de outro objeto?
» Preciso de ajuda para substituir valor de variavel em outro script
» UM FIRSTPERSON SCRIPT PARA USAR NO PHOTON:ALGUÉM TEM?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos