[Script] Como o argument vale algo?

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

[Script] Como o argument vale algo?

Mensagem por BrunoMotaSantos em Qua 02 Out 2013, 14:57

Olá amigos do fórum,sou iniciante e estou aprendendo programação do Game Maker e estou com dúvida no argument,como ele pode valer algo sem ao menos ser declarado?,por exemplo nesse seguinte código  da aula do Alex FC:

//calcula_imc(peso,altura)
imc=argument0/(argument1*argument1)
return imc

Como o programa "adivinha" que argument0 é peso e o argument1 é altura? sem ao menos ter sido declarado que são realmente isso?Como eu sou iniciante queria pedir a ajuda de vocês experientes para me ajudarem a entender..Obrigado desde-já?

BrunoMotaSantos

Número de Mensagens : 21
Idade : 15
Data de inscrição : 28/09/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por Willy em Qua 02 Out 2013, 15:10

Na verdade, esses "arguments" são como variáveis, mas não são declaradas. ..

Quando se chama um script, fazemos da seguinte forma:
Código:
nome_script(valor0,valor1,valor2);
Pro script, vai estar assim:
Código:
nome_script(argument0,argument1,argument2);
Em outras palavras, o valor dos argumentos foram definidos no momento em que você os chamou em um objeto.

Dúvidas é só falar. blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por BrunoMotaSantos em Qua 02 Out 2013, 15:18

Mais se essas tais variáveis não são declaradas como o programa sabe o valor delas?

BrunoMotaSantos

Número de Mensagens : 21
Idade : 15
Data de inscrição : 28/09/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por Willy em Qua 02 Out 2013, 15:29

Pense da seguinte forma, o argument0 até o argument12 (12 é o máximo, se não me engano...) já foram declaradas em algum lugar, porém, sem valor algum, só aguardando receberem um valor...

Quando você chama um script, os valores são distribuídos em "ordem de chegada". Uma forma de você entender isso, é a seguinte:
A função instance_create(x,y,obj) na verdade É UM SCRIPT! Sendo que x é o argument0, y é o argument1 e obj é o argument2.

Ou seja, quando escrevemos:
instance_create(16,96,obj_personagem)
16 é o argument0
96 é o argument1
obj_personagem é o argument2

Perceba que o valor dos arguments depende da ordem em que forem chamados.

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por BrunoMotaSantos em Qua 02 Out 2013, 15:59

Agora ficou mais claro,mais só uma dúvida por exemplo:
Se tivessem 2 objetos e em cada um desses objetos teria um código:

No primeiro objeto: instance_create(10,10,obj_player)
No segundo objeto: instance_create(20,20,obj_inimigo)

E eu fosse escrever em um Script com o seguinte código
X=argument0*argument2

Bom ai eu queria saber como o Game Maker ia saber qual era o argument0,argument1 pois existem dois códigos nos objetos que ambos são scripts,então o Então o que ia acontecer?
O Argument0 é o 10? ou o 20?
O Argument1 seria 10 ou o 20?

Eu só queria saber isso.. Obrigado desde já...

BrunoMotaSantos

Número de Mensagens : 21
Idade : 15
Data de inscrição : 28/09/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por PedroX em Qua 02 Out 2013, 16:19

O argument só existe dentro do script. Ou seja, o script seria executado duas vezes, e em cada vez o argument2 teria um valor diferente.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por Zero. em Qui 03 Out 2013, 15:07

É local, é usado dentro do obj.
É como se vc chamasse a função,q tambem é um script, instance_create(x,y,obj), como seu exemplo ai em cima, vai rodar o script em cada um dos objs, mas de forma diferente, pq pra um vc deu valor 10 para x e y e para o outro deu valor 20 para x e y, entaum vão rodar o script em cada um e irá criar 2 objs, um nas coordenadas 10,10 e outro nas coordenadas 20,20.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Script] Como o argument vale algo?

Mensagem por saim em Qui 03 Out 2013, 16:24

arugment0, argument1, etc. são variáveis built-in do tipo "var", ou seja, elas evaporam assim que o script termina. Quando o próximo script for chamado, ele não tem conhecimento de nada do que aconteceu nos outros scripts. Só vai poder usar argumentos que forem declaradas quando ele for chamado.

Só que o game maker é uma mãezona que te permite usar argumentos que NÃO forem declarados. Mas aí, qual o valor desses argumentos? Bom, na falta de uma bola de cristal, usa-se valores "default". Assim, qualquer argumento não declarado vale zero.
Então se você escrever um código que chama dois scripts em seguida, desse jeito aqui:
Código:
script1(0, 1, 2, 3);
script2();
O valor de argument0 nos dois scripts vai ser "0", por motivos diferentes. O valor de argument1 vai ser "1" no primeiro script e "0" no segundo. Só que você provavelmente não vai usar nenhum argumento no segundo script, porque você é um cara esperto e prefere declarar seus zeros, pra não esquecer de declarar algum valor diferente, depois. Logo, se não declarou nenhum argumento, é porque o script não usa argumentos.
Note que esses valores não fazem sentido até que você saiba o que tem dentro do script. Portanto, é uma boa começar o script com uma linha de comentário, indicando o que significa cada argumento, como no exemplo do primeiro post. O primeiro argumento é um número real que representa o peso, o segundo argumento é um número real que representa a altura, o script faz umas contas e retorna um valor que pode ser usado ou perder-se no limbo, inutilizando o script.

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: [Script] Como o argument vale algo?

Mensagem por Conteúdo patrocinado Hoje à(s) 08:14


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