Preciso de ajuda para substituir valor de variavel em outro script
4 participantes
Página 1 de 1
Preciso de ajuda para substituir valor de variavel em outro script
Ola a todos. Estou com um problema, preciso de ajuda, preciso substituir valores de variáveis em outro script de outro objeto.
O codigo abaixo é do script que precisa ser alterado por outro.
if (boxID == "Gold100")
{
gold += 100;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold250")
{
gold += 250;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold800")
{
gold += 800;
// aqui o valor da variável gold seria substituído por outro valor através de outro script
O codigo abaixo é do script que precisa ser alterado por outro.
if (boxID == "Gold100")
{
gold += 100;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold250")
{
gold += 250;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold800")
{
gold += 800;
// aqui o valor da variável gold seria substituído por outro valor através de outro script
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
Robins Sandi escreveu:Ola a todos. Estou com um problema, preciso de ajuda, preciso substituir valores de variáveis em outro script de outro objeto.
O codigo abaixo é do script que precisa ser alterado por outro.
if (boxID == "Gold100")
{
gold += 100;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold250")
{
gold += 250;
// aqui o valor da variável gold seria substituido por outro valor através de outro script
Gold.text = gold.ToString();
}
if (boxID == "Gold800")
{
gold += 800;
// aqui o valor da variável gold seria substituído por outro valor através de outro script
Crie um novo script ou no script que deseja fazer o comando faça algo mais ou menos assim não sei o nome do seu script do "golds" ou comparta o script completo, espero que a dica te ajude.
- Código:
public class ScriptDemo : MonoBehaviour
{
public GoldManager goldManagerReference; // Arraste aqui o seu script de Gold por exemplo,
private void Start()
{
// Se você estiver fazendo referência a um objeto que contém o script GoldManager
// goldManagerReference = otherGameObject.GetComponent<GoldManager>();
}
public void UpdateGold()
{
// Substituir o valor de gold no script GoldManager
goldManagerReference.AddGold(500); // Substitua 500 pelo valor desejado por exemplo se quiser pode criar variaveis publicas usar Random etc.
}
// Outro exemplo enviando o valor junto a função.
public void UpdateGoldAmount(int Amount)
{
// Substituir o valor de gold no script GoldManager
goldManagerReference.AddGold(Amount);
}
}
gbxstudios- Iniciante
- PONTOS : 243
REPUTAÇÃO : 2
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
Vou postar os dois scripts completos para entender melhor , o primeiro script ''Aumentar'' na parte comentada referente aos valores terao que modificar os valores das variaveis de cada linha referida do outro escript ''BoxWinPriceDemo.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class Aumentar : MonoBehaviour
{
//public GoldManager goldManagerReference;
private Text score;
private int scoreAmount;
public TextMeshPro parte0;
public TextMeshPro parte1;
// public TextMeshPro parte2;
//public TextMeshPro parte3;
public TextMeshPro parte4;
public TextMeshPro parte5;
public TextMeshPro parte6;
// public TextMeshPro parte7;
public TextMeshPro parte9;
void Start()
{
scoreAmount = 0;
score = GetComponent<Text>();
}
// Update is called once per frame
void Update()
{
score.text = scoreAmount.ToString();
if(scoreAmount<1)
{
scoreAmount = 1;
parte0.text = "2";
// esse resultado teria que mudar a variavel do outro script
parte1.text = "0.1";
// esse resultado teria que mudar a variavel do outro script
parte4.text = "0.3";
// esse resultado teria que mudar a variavel do outro script
parte5.text = "4";
// e assim por diante..
parte6.text = "3";
//
parte9.text = "0.3";
//
}
if(scoreAmount>2)
{
parte0.text = "4";
parte1.text = "0.5";
parte4.text = "0.6";
parte5.text = "8";
parte6.text = "6";
parte9.text = "0.6";
}
if (scoreAmount>3)
{
parte0.text = "8";
parte1.text = "1";
parte4.text = "1.2";
parte5.text = "12";
parte6.text = "12";
parte9.text = "0.9";
}
if (scoreAmount > 4)
{
parte0.text = "8";
parte1.text = "1.5";
parte4.text = "2";
parte5.text = "24";
parte6.text = "12";
parte9.text = "0.9";
}
if (scoreAmount > 5)
{
parte0.text = "12";
parte1.text = "2.5";
parte4.text = "3";
parte5.text = "48";
parte6.text = "16";
parte9.text = "1,2";
}
if (scoreAmount > 6)
{
parte0.text = "18";
parte1.text = "3";
parte4.text = "6";
parte5.text = "90";
parte6.text = "32";
parte9.text = "2.4";
}
if (scoreAmount > 7)
{
parte0.text = "36";
parte1.text = "6";
parte4.text = "12";
parte5.text = "180";
parte6.text = "64";
parte9.text = "2.8";
}
if (scoreAmount > 8)
{
scoreAmount = 8;
}
}
public void AddValor()
{
scoreAmount += 1;
}
public void SubtrairValor()
{
scoreAmount -= 1;
}
}
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
o Segundo script é o que devera ter o valor alterado
- Código:
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
public class BoxWinPriceDemoScene : MonoBehaviour
{
public TextMeshProUGUI Gold;
public int gold;
private void Start()
{
gold = PlayerPrefs.GetInt("Gold");
}
public void PlayerReward(string boxID)
{
Debug.Log($"Box ID, hit by the wheel : {boxID}");
//Gold reward
GoldReward(boxID);
}
private void GoldReward(string boxID)
{
gold = PlayerPrefs.GetInt("Gold");
if (boxID == "Gold1")
{
gold += 1;
// aqui o gold seria substituido por outro valor atraves de outro script 'Aumentar''
Gold.text = gold.ToString();
}
if (boxID == "Gold100")
{
gold += 100;
// aqui o gold seria substituido por outro valor atraves de outro script 'Aumentar''
Gold.text = gold.ToString();
}
if (boxID == "Gold250")
{
gold += 800;
// aqui o gold seria substituido por outro valor atraves de outro script 'Aumentar''
Gold.text = gold.ToString();
}
if (boxID == "Gold800")
{
gold += 800;
// aqui o gold seria substituido por outro valor atraves de outro script 'Aumentar''
Gold.text = gold.ToString();
}
PlayerPrefs.SetInt("Gold", gold);
}
}
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
Obs; eu comentei no segundo script ==> "// aqui o gold seria substituido por outro valor atraves de outro script 'Aumentar''"
pra nao ficar confuso eu quis dizer , o valor do gold seria substituido por outro valor .
pra nao ficar confuso eu quis dizer , o valor do gold seria substituido por outro valor .
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
[list=linenums]
[*]Ola,
gbxstudios eu tentei adaptar alguns comandos do codigo que vc me passou
[*] nao consegui , qual seria o mais apropriado para o caso dos dois scripts completos
[*] que postei, até porque sao valores diferentes para cada linha como vc pode ver dai fica complexo pra mim.
[/list]
[*]Ola,
gbxstudios eu tentei adaptar alguns comandos do codigo que vc me passou
[*] nao consegui , qual seria o mais apropriado para o caso dos dois scripts completos
[*] que postei, até porque sao valores diferentes para cada linha como vc pode ver dai fica complexo pra mim.
[/list]
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Re: Preciso de ajuda para substituir valor de variavel em outro script
boa tarde, vou seguir com alguns conselhos:
Seu código não está seguindo corretamente a abordagem para alteração de um script em outro.
1º - script1 deve ter uma variável referência à script2;
2º - script1 só poderá alterar uma variável que existe em script2, o que não ocorre aqui:
![Preciso de ajuda para substituir valor de variavel em outro script 8NbGsI87mHQAAAAASUVORK5CYII=](data:image/png;base64,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)
3º- tendo essas variáveis com permissão: Public, o acesso pelo outro script será permitido;
4º- seu script2 tem umas verificações de algum parâmetro String boxID de uma função, para fazer a checagem do que quer alterar, no entanto no script1 nenhuma vez chamastes a função que tem esse parâmetro para checar essa verificação.
Dessa forma o jeito correto seria em script2 ter uma variável string MeuString, que seria checado via update: if(MeuString!=""){GoldReward(MeuString)}
assim ele vai checar caso a variável MeuString não esteja vazia, se tem alguma string relacionada dentro da void GoldReward. No caso string1 apenas mandaria o nome para MeuString em string2;
lembre-se de criar uma Referência de acesso a Script2 no Script1;
Seu código não está seguindo corretamente a abordagem para alteração de um script em outro.
1º - script1 deve ter uma variável referência à script2;
2º - script1 só poderá alterar uma variável que existe em script2, o que não ocorre aqui:
3º- tendo essas variáveis com permissão: Public, o acesso pelo outro script será permitido;
4º- seu script2 tem umas verificações de algum parâmetro String boxID de uma função, para fazer a checagem do que quer alterar, no entanto no script1 nenhuma vez chamastes a função que tem esse parâmetro para checar essa verificação.
Dessa forma o jeito correto seria em script2 ter uma variável string MeuString, que seria checado via update: if(MeuString!=""){GoldReward(MeuString)}
assim ele vai checar caso a variável MeuString não esteja vazia, se tem alguma string relacionada dentro da void GoldReward. No caso string1 apenas mandaria o nome para MeuString em string2;
lembre-se de criar uma Referência de acesso a Script2 no Script1;
Re: Preciso de ajuda para substituir valor de variavel em outro script
stratengine escreveu:boa tarde, vou seguir com alguns conselhos:
Seu código não está seguindo corretamente a abordagem para alteração de um script em outro.
1º - script1 deve ter uma variável referência à script2;
2º - script1 só poderá alterar uma variável que existe em script2, o que não ocorre aqui:
3º- tendo essas variáveis com permissão: Public, o acesso pelo outro script será permitido;
4º- seu script2 tem umas verificações de algum parâmetro String boxID de uma função, para fazer a checagem do que quer alterar, no entanto no script1 nenhuma vez chamastes a função que tem esse parâmetro para checar essa verificação.
Dessa forma o jeito correto seria em script2 ter uma variável string MeuString, que seria checado via update: if(MeuString!=""){GoldReward(MeuString)}
assim ele vai checar caso a variável MeuString não esteja vazia, se tem alguma string relacionada dentro da void GoldReward. No caso string1 apenas mandaria o nome para MeuString em string2;
lembre-se de criar uma Referência de acesso a Script2 no Script1;
Ola , obrigado pela orientação. Tentei aplicar mas do jeito que tinha que ser nao estava dando certo. Pois essa string tinha varios valores que mudavam varialvemente e realmente estava complicado de resolver. Depois de tanto quebrar a cabeça achei uma soluçao.[list=linenums][*]
- Código:
private void GoldReward(string boxID)[size=14][/size] {[size=14][/size] gold = PlayerPrefs.GetInt("Gold");[size=14][/size] if (boxID == "Gold1")[size=14][/size] {[size=14][/size]
int.TryParse(parte0.text, out int result);
Debug.Log("Current value: " + result);
pointHUD.Points += 2 * result;
pointHUD.PointsQuantia += 2 * result;
if (boxID == "Gold100")
{
int.TryParse(parte1.text, out int result);
Debug.Log("Current value: " + result);
pointHUD.Points += 2 * result;
pointHUD.PointsQuantia += 2 * result;
}
e assim por diante...
}
Entao o mais simples que fiz foi checar sempre o valor da string que aparece na tela que sempre varia e converter para uma variavel inteira
e multiplicar o resultado dessa string convertida para as variaveis de pontos. Entao assim que eu clico em um botao que
a string aumenta de valor o resultado sempre sera multiplicado por um valor da variável inteira. Era exatamente isso que eu queria.
Para isso eu tive que Serializar o script com outro script
[/list]
Robins Sandi- Iniciante
- PONTOS : 368
REPUTAÇÃO : 1
Respeito as regras :
Magnatah- Instrutor
-
PONTOS : 3426
REPUTAÇÃO : 208
Idade : 24
Áreas de atuação : Dєรєиvσlvєdσя Wєb(Fяσит-єиd), Blєиdєя, υиiтy, C#, ρнρ є Jαvαรcяiρт.
Respeito as regras :
![-](https://2img.net/i/empty.gif)
» [Ajuda] Variavel não esta recebendo o valor do outro script
» Enviar valor de variável para outro script ao apertar um botão.
» Nao consigo alterar o valor da variavel de outro script
» [Ajuda] Preciso de ajuda para controlar e alterar o valor de Lerp de varios objetos
» Preciso de algúem para modificar um script, negociaremos o valor $
» Enviar valor de variável para outro script ao apertar um botão.
» Nao consigo alterar o valor da variavel de outro script
» [Ajuda] Preciso de ajuda para controlar e alterar o valor de Lerp de varios objetos
» Preciso de algúem para modificar um script, negociaremos o valor $
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos