Conectar-se
Quem está conectado
20 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 20 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/07/2008
Número de Mensagens : 758
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -6

Prêmios
   :
   :
   :
Ver perfil do usuário

Variaveis Globais

em Sab 27 Set 2008, 20:48
O que são variaveis globais?

Variaveis globais guardam informações que o usuario escolhe. Essas informações são salvas, podendo serem usadas em qualquer outra room. Por exemplo, o usuario escolhe um personagem para jogar(é sobre isso que iremos trabalhar), ele clica no personagem, a informação do personagem escolhido é guardado, e o personagem escolhido é usado em outra room.

Onde usar?

Como é possível guardar informações escolhidas, é muito importante usá-las em seleções de personagens, mudança dos controles de um jogo, criação de contas de usuario(mas para isso é necessario também guardar as informações em arquivos INI, eu acho), entre muitas outras coisas. Com isso é possível perceber como as Variaveis Globais são poderosas tanto na criação de um jogo quanto na de um programa.


Nomeando variaveis globais

As variaveis globai sempre são nomeadas assim:
Código:
global.variavel

Crie um objeto. Chame-o de "pers_1". Crie o evento Other>Game Start. Agora digite o seguinte código:
Código:
global.pers = 0;
Esse código irá setar a opção "defalt". (é tipo o que está selecionado antes do usuario escolher)

Agora crie outro evento. O evento Mouse>Left Button. Digite o mesmo codigo citado acima. Isso irá alterar o personagem selecionado para ele, se o outro estiver selecionado.
No mesmo evento, digite mais um código:
Código:
room_goto_next()

Crie outro objeto, e nomeie-o como "pers_2". Coloque o evento Mouse>Left Button, coloque o seguinte código:
Código:
global.pers = 1;
Isso irá alterar o personagem selecionado para ele, se o outro estiver selecionado.
E mais um:
Código:
room_goto_next()

Coloque um sprite diferente para cada um desses objetos.

Botando tudo para funcionar!

Crie dois objetos: o sel_1 e o sel_2. O sprite do sel_1 deve ser o sprite do pers_1, o sprite do sel_2 deve ser do pers_2.

Crie outro objeto, chame-o de selecionador. nele digite o seguinte codigo:
Código:
if global.pers = 0
{
instance_create(1,1,sel_1)
}
if global.pers = 1
{
instance_create(1,1,sel_2)
}
Se a variavel global (o item selecionado) for 0, criar objeto sel_1.
Se a variavel global (o item selecionado) for 1, criar objeto sel_2.

Organizando tudo

Crie duas rooms.

Na primeira coloque o pers_1 e o pers_2.
Na segunda coloque o selecionador.
Pronto! Aperte F5 ou o botão com uma seta verde para a direita e teste!

Tutorial feito por mim, FelaoBR


Última edição por F. Nizzio em Qua 24 Ago 2011, 19:27, editado 1 vez(es)
avatar
Data de inscrição : 19/07/2008
Número de Mensagens : 758
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -6

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Variaveis Globais

em Sab 27 Set 2008, 21:26
ei gente se alguem puder me explicar como funcionam as leituras de inis no game maker... estarei grato
avatar
Data de inscrição : 16/05/2008
Número de Mensagens : 353
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Variaveis Globais

em Sab 27 Set 2008, 21:52
felaobr, tem um tutorial feito pelo brendan que fala exatamente sobre isso.
avatar
Data de inscrição : 19/07/2008
Número de Mensagens : 758
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -6

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Variaveis Globais

em Sab 27 Set 2008, 22:09
pode me mandar o link?
avatar
Data de inscrição : 16/05/2008
Número de Mensagens : 353
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Variaveis Globais

em Dom 28 Set 2008, 10:08
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum