Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor Ralphed Ontem à(s) 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
Igualar variaveis
+2
Isaque Onix
uilson
6 participantes
Página 1 de 1
Igualar variaveis
Galera, a duvida é a seguinte... eu tenho as variaveis var1 e var2 e preciso que var 2 seja igual a var1 e vice versa...
O problema é que se eu disser que var2=var1, caso eu modifique o valor de var1, o var2 muda automaticamente, mas se eu fizer o inverso, isso não acontece, preciso que eles sejam iguais simultaneamente... existe algum sinal ou expressão para isso?
O problema é que se eu disser que var2=var1, caso eu modifique o valor de var1, o var2 muda automaticamente, mas se eu fizer o inverso, isso não acontece, preciso que eles sejam iguais simultaneamente... existe algum sinal ou expressão para isso?
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Mas no seu caso em específico, qual o motivo de não poder usar por exemplo uma var global e compartilhá-la entre os objetos?
Convidado- Convidado
Re: Igualar variaveis
Se uma iguala a outra, qual seria a necessidade de ter duas variáveis? De qualquer forma você pode criar um script do tipo:
Daí você usaria ele assim:
O que já mudaria o valor das duas para 5 em apenas uma função.
- Código:
///Set(Value)
var1=argument0
var2=argument0
Daí você usaria ele assim:
- Código:
Set(5)
O que já mudaria o valor das duas para 5 em apenas uma função.
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Olá uilson!
O seu problema é questão de raciocínio lógico, e é muito fácil de se resolver.
Embora seja uma resposta breve e bem simples, vou dar um exemplo para você não cometer mais o erro.
Suponhamos que VAR1 = Vermelho e VAR2 = Laranja
Seu eu pego a VAR1 e a igualo a VAR2, ou seja, se digo que Vermelho = Laranja, então meu retorno lógico seria Vermelho = Vermelho, e ai é que está o problema, quando eu for dizer que VAR2 = VAR1 eu estarei dizendo VERMELHO = VERMELHO. Acho que isso você já percebeu, e talvez tenha surgido uma solução em sua cabeça, vamos a ela.
Para solucionar o problema eu uso uma terceira variável que servirá como variável auxiliar, isto é, ajudará a transferir os valores entre ambas as variáveis.
Em código a resposta ao problema seria:
VAR1 = VAR3
VAR2 = VAR1
VAR3 = VAR2
Entende?
-----------------
Isaque, sua resposta parece muito óbvia de inicio, mas repare que sua resposta é exatamente o mesmo problema do uilson, provavelmente você não tenha percebido ou ignorou '-'
O seu problema é questão de raciocínio lógico, e é muito fácil de se resolver.
Embora seja uma resposta breve e bem simples, vou dar um exemplo para você não cometer mais o erro.
Suponhamos que VAR1 = Vermelho e VAR2 = Laranja
Seu eu pego a VAR1 e a igualo a VAR2, ou seja, se digo que Vermelho = Laranja, então meu retorno lógico seria Vermelho = Vermelho, e ai é que está o problema, quando eu for dizer que VAR2 = VAR1 eu estarei dizendo VERMELHO = VERMELHO. Acho que isso você já percebeu, e talvez tenha surgido uma solução em sua cabeça, vamos a ela.
Para solucionar o problema eu uso uma terceira variável que servirá como variável auxiliar, isto é, ajudará a transferir os valores entre ambas as variáveis.
Em código a resposta ao problema seria:
VAR1 = VAR3
VAR2 = VAR1
VAR3 = VAR2
Entende?
-----------------
Isaque Onix escreveu:var1=var2
var2=var1
'-'
Isaque, sua resposta parece muito óbvia de inicio, mas repare que sua resposta é exatamente o mesmo problema do uilson, provavelmente você não tenha percebido ou ignorou '-'
VanMall- Data de inscrição : 06/03/2014
Reputação : 13
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
uilson escreveu:preciso que eles sejam iguais simultaneamente...
foi oque eu intendi... mais com tantas respostas, preferi nao voltar a responder...
Re: Igualar variaveis
Galera, vlw pela ajuda, mas alguns dos casos citados, eu já tinha tentado... mas não funciona exatamente como eu preciso, essas 2 variaveis são matrizes que estão armazenando informação de quantidade de flecha coletadas. var 1 é a quantidade de flecha no inventario, só que a partir do momento que vc equipa a flecha, o var2 que é quantidade de flecha equipada, passa a compartilhar o valor de var1, caso eu atire ou gaste uma flecha, eu preciso que subtraia a quantidade de flecha de var2 e automaticamente altere o valor de var1 tb, isso não acontece pq na expressão diz que var2=var1, achei que pudesse colocar essa igualdade simultanea de alguma maneira. Eu não tenho como subtrair diretamente o valor de var1, pq existem varios espaços no inventario onde a flecha pode ser alocada, portanto, esse var1 poderia ser var3, ou var4, e por ai vai... por isso a subtração tem que ser feita diretamente da var2(espaço da flecha equipada), e influenciar na var1, mesmo que na expressão diga, var2=var1.
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
cara, ta bem dificil de intender, mais se voce so quer subtrair a quantidade de flechas, e so colocar
- Código:
var1-=1 var2=var1
Re: Igualar variaveis
O que você pode também é dividir as variáveis assim:
Daí quando usar a flecha você só subtrai as 'Flechas' e no inventário você mostra a soma entre as flechas preparadas e as no inventário.
- Código:
Flechas=5
FlechasInventario=8
Daí quando usar a flecha você só subtrai as 'Flechas' e no inventário você mostra a soma entre as flechas preparadas e as no inventário.
- Código:
draw_text(0,0,Flechas+FlechasInventario)
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Galera, mais uma vez muito obrigado pela ajuda, não consegui usar precisamente as sugestões de vcs, mas me ajudou a clarear a mente sobre algumas opções, e consegui resolver o problema, não do jeito que eu queria, mas funcionou direitinho, eu dei um jeito da flecha verificar a var1 e subtrair direto da var1, dessa forma o var2 é subtraido automaticamente, já que var2=var1.
No caso var1 corresponde ao slot 1 do inventario, daí a flecha verifica se var1 está equipado em var2 que corresponde ao slot da flecha equipada e subtrai var1. Caso a flecha esteja em outro slot do inventario, por exemplo slot 7, a flecha verifica se var7 está equipada em var 2, daí então subtrai var7 e assim por diante.
No caso var1 corresponde ao slot 1 do inventario, daí a flecha verifica se var1 está equipado em var2 que corresponde ao slot da flecha equipada e subtrai var1. Caso a flecha esteja em outro slot do inventario, por exemplo slot 7, a flecha verifica se var7 está equipada em var 2, daí então subtrai var7 e assim por diante.
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Boa tarde uilson,
Realmente está BEM difícil de entender o que você quer mas acho que entendi.
Pelo que pude entender você na verdade está trabalhando com 3 variáveis:
-var1 que é a quantidade de flechas no inventário
-var2 que é a quantidade de flechas equipadas
-var3 que é a quantidade REAL de flechas que você tem (e que não existe no seu código)
Dá para montar o seguinte:
var1(Qnt no inventário)=var3(qnt real de flechas)
var2(qnt equipada)=var3(qnt real de flechas
E quando for subtrair é só fazer var3-=1 (ou o valor que quiser)
O exemplo do Isaque Onix só não tem a var3 pois ele não deve ter visto que se você mudar de slot no inventário a var 1 seria outra (ex: var5, var6, etc...) mas é bem nesse caminho.
Espero que se eu não pude ajudar, ao menos mostrei o caminho.
var1=var2
var2=var1
Um loop (mais uma vez o que o Isaque Onix disse e está certo em dizer).
Você quis dizer que ambos tenham o mesmo valor ao mesmo tempo mas não iguais entre sí.
Qualquer coisa post mais alguma coisa!
Realmente está BEM difícil de entender o que você quer mas acho que entendi.
Pelo que pude entender você na verdade está trabalhando com 3 variáveis:
-var1 que é a quantidade de flechas no inventário
-var2 que é a quantidade de flechas equipadas
-var3 que é a quantidade REAL de flechas que você tem (e que não existe no seu código)
Dá para montar o seguinte:
var1(Qnt no inventário)=var3(qnt real de flechas)
var2(qnt equipada)=var3(qnt real de flechas
E quando for subtrair é só fazer var3-=1 (ou o valor que quiser)
O exemplo do Isaque Onix só não tem a var3 pois ele não deve ter visto que se você mudar de slot no inventário a var 1 seria outra (ex: var5, var6, etc...) mas é bem nesse caminho.
Espero que se eu não pude ajudar, ao menos mostrei o caminho.
Isso que você disse é igual aulison escreveu:preciso que eles sejam iguais simultaneamente...
var1=var2
var2=var1
Um loop (mais uma vez o que o Isaque Onix disse e está certo em dizer).
Você quis dizer que ambos tenham o mesmo valor ao mesmo tempo mas não iguais entre sí.
Qualquer coisa post mais alguma coisa!
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Você tem que aprender a usar arrays, vai te facilitar muito neste (e outros) caso.
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Uilson, acho que você deveria ter explicado sua pergunta direito no inicio do tópico, acho que cada um teve uma interpretação diferente de sua pergunta. Sinceramente, dei aquela explicação toda e nem ao menos chega perto do que você queria...
VanMall- Data de inscrição : 06/03/2014
Reputação : 13
Número de Mensagens : 138
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Achei desnecessário oque você está querendo fazer. Usar uma array pra tirar as flechas de um slot específico ?
Porque você não pega a quantidade total de flechas no inventário e salva em uma variavel e ao atirar retira 1 flecha de qualqer um dos slots do inventário ?
tipo :
e para retirar uma flecha, vc da um for e checa se no slot[i] há uma flecha e ai vc da break; e retira uma flecha desse slot.
Porque você não pega a quantidade total de flechas no inventário e salva em uma variavel e ao atirar retira 1 flecha de qualqer um dos slots do inventário ?
tipo :
- Código:
flechas = 0 // variavel que pode ser global para quantidade total de flechas
for(i=1;i<=8;i++) // supondo que há 8 slots
{
if slot[i] = flecha //se no slot i há uma flecha
{
flechas += quantidade[i] // quantidade de flechas no slot i
}
}
e para retirar uma flecha, vc da um for e checa se no slot[i] há uma flecha e ai vc da break; e retira uma flecha desse slot.
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Mateus O de Andrade escreveu:Boa tarde uilson,
Realmente está BEM difícil de entender o que você quer mas acho que entendi.
Pelo que pude entender você na verdade está trabalhando com 3 variáveis:
-var1 que é a quantidade de flechas no inventário
-var2 que é a quantidade de flechas equipadas
-var3 que é a quantidade REAL de flechas que você tem (e que não existe no seu código)
Dá para montar o seguinte:
var1(Qnt no inventário)=var3(qnt real de flechas)
var2(qnt equipada)=var3(qnt real de flechas
E quando for subtrair é só fazer var3-=1 (ou o valor que quiser)
O exemplo do Isaque Onix só não tem a var3 pois ele não deve ter visto que se você mudar de slot no inventário a var 1 seria outra (ex: var5, var6, etc...) mas é bem nesse caminho.
Espero que se eu não pude ajudar, ao menos mostrei o caminho.Isso que você disse é igual aulison escreveu:preciso que eles sejam iguais simultaneamente...
var1=var2
var2=var1
Um loop (mais uma vez o que o Isaque Onix disse e está certo em dizer).
Você quis dizer que ambos tenham o mesmo valor ao mesmo tempo mas não iguais entre sí.
Qualquer coisa post mais alguma coisa!
Vlw,vou experimentar e tentar adaptar aqui na engine que fiz.
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
PedroMatoso escreveu:Uilson, acho que você deveria ter explicado sua pergunta direito no inicio do tópico, acho que cada um teve uma interpretação diferente de sua pergunta. Sinceramente, dei aquela explicação toda e nem ao menos chega perto do que você queria...
Acho que realmente não fui muito claro no primeiro momento.
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
Gonçalves escreveu:Você tem que aprender a usar arrays, vai te facilitar muito neste (e outros) caso.
Na verdade eu estou usando arrays, eu fiz uma matriz para armazenar as informações de itens... essa var1 no caso corresponde a slot[0,0]...
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Igualar variaveis
FlyAway escreveu:Achei desnecessário oque você está querendo fazer. Usar uma array pra tirar as flechas de um slot específico ?
Porque você não pega a quantidade total de flechas no inventário e salva em uma variavel e ao atirar retira 1 flecha de qualqer um dos slots do inventário ?
tipo :
- Código:
flechas = 0 // variavel que pode ser global para quantidade total de flechas
for(i=1;i<=8;i++) // supondo que há 8 slots
{
if slot[i] = flecha //se no slot i há uma flecha
{
flechas += quantidade[i] // quantidade de flechas no slot i
}
}
e para retirar uma flecha, vc da um for e checa se no slot[i] há uma flecha e ai vc da break; e retira uma flecha desse slot.
Obrigado pela sugestão, a verdade é que não sou programador de ofício, então certas coisas que parecem óbvias, passam batidas por mim, meus recursos são limitados, mais uma vez obrigado, vou experimentar as sugestões.
USUÁRIO ADVERTIDO POR POST QUADRUPLO! - dharrison
Que isso jovem?
uilson- Games Ranking :
Notas recebidas : A
Data de inscrição : 22/03/2011
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Com DLL's, o Game Maker 8 pode se igualar ao GMS?
» [resolvido] controlar variáveis através de outras variáveis ou transportar
» Variaveis
» Variaveis?
» O que são Variáveis Globais?
» [resolvido] controlar variáveis através de outras variáveis ou transportar
» Variaveis
» Variaveis?
» O que são Variáveis Globais?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|