Duvida sobre arguments

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Duvida sobre arguments

Mensagem por devcc em Qui 11 Jul 2013, 20:28

Seguinte:
estou criando um script. mas ele não funciona quando eu ponho os arguments
exemplo:
script> Window_Command

if keyboard_check_pressed(argument0)argument2-=1
if keyboard_check_pressed(argument1)argument3+=1

Agora eu ponho no Objeto o seguinte:
Window_Command(vk_up,vk_down,Selectable,Selectable,)

porém, não funciona.

agora se eu faço da seguinte forma:
script>
if keyboard_check_pressed(vk_up){Selectable-=1}
if keyboard_check_pressed(vk_down){Selectable+=1}

Agora no objeto:
Window_Command()

... dessa forma funciona... mas eu não quero dessa forma...
alguém sabe dizer porque os arguments não funciona ?


devcc

Número de Mensagens : 35
Data de inscrição : 07/07/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre arguments

Mensagem por Isaque Onix em Qui 11 Jul 2013, 23:14

cara isso não funciona assim.. o argument não armazena a variavel em si, e sim o valor atual dela, pra mudar o valor você teria que usar as funções variable_...

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Duvida sobre arguments

Mensagem por saim em Sex 12 Jul 2013, 14:22

Repetindo a resposta do Isaque Onix, mas falando de um jeito diferente:
Os arguments são parâmetros de entrada das funções e scripts. Não podem ser usados como saída.
Pra mudar o valor de uma variável, você realmente deve escrevê-la diretamente no código.
Ou usar "return". Return é uma função que encerra o script e RETORNA um valor. No exemplo fica mais fácil entender.

Na hora de chamar o script, você escreve o nome da variável:
Código:
Selectable := Window_Command(vk_up, vk_down, Selectable) // "Seletable" recebe o resultado do script
// "Selectable" também é usada como entrada do script
Aí, no script, você usa uma variável temporária pra fazer as alterações e retorna o valor dessa variável:
Código:
var tempVar; // uma variável que só vai existir dentro do script
tempVar := argument2; // pega o valor atual de "Selectable"
if keyboard_check_pressed(argument0)tempVar-=1
if keyboard_check_pressed(argument1)tempVar+=1
return(tempVar);
// O script retornara para "Selectable" - que é a variável que vai receber o resultado do script, ver acima - o valor de "tempVar".

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Duvida sobre arguments

Mensagem por devcc em Sab 13 Jul 2013, 18:10

Obrigado saim, agora estou a continuar meu menu ff7. é que por alguma razão.. fica muito "feia" a interface dos objetos com vários códigos enormes... gosto de compacta-los ao máximo ... mas com a funcionalidade perfeita.

devcc

Número de Mensagens : 35
Data de inscrição : 07/07/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre arguments

Mensagem por saim em Sex 19 Jul 2013, 22:48

one-liner... Bom, nada de errado em compactar códigos. Desde que, como você disse, "com funcionalidade perfeita". Se for perder funcionalidade, esqueça.
Só que, normalmente, descompactar códigos (usar muitas linhas, colocar um pouco mais de if-else do que o necessário) é útil pra VISUALIZAR a coisa. Fica mais fácil entender onde estão os erros e, principalmente, fica mais fácil colocar comentários. Pense num código de umas 40 linhas. Daqui a uma semana, você não vai se lembrar do que estava pensando quando escreveu aquilo. Se compactar tudo pra umas 10 linhas (normalmente, é possível), pode demorar umas 2 a 4 horas tentando decifrar aquilo que você mesmo escreveu.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Duvida sobre arguments

Mensagem por Conteúdo patrocinado Hoje à(s) 06:45


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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