Variáveis: Aula 5 - Coordenadas



Utilizando Coordenadas.

O que são coordenadas?
Na última aula, nós vimos de uma forma bastante resumida, como cada comando da opção “evento” nas variáveis, funcionam.
Porém, deixamos de abordar o assunto sobre coordenadas, onde eu apenas disse que estas opções armazenam as coordenadas X e Y de um evento ou do personagem no mapa.
Mas afinal o que vem a ser uma coordenada do personagem ou evento?
Para esclarecer essa dúvida, preste atenção na figura abaixo:



Esta parte quadriculada em vermelho é a coordenada do personagem no mapa, como apontado na figura acima.
As coordenadas no RPG Maker são representadas respectivamente em (x, y) sendo no caso da imagem acima, x= 006 e y= 009. Ou seja, as coordenadas do personagem no mapa, neste momento estão em 6 para x e 9 para y.
A coordenada X sempre se encontra na linha horizontal, e a coordenada Y na vertical.
Assim como o personagem, os eventos no mapa também possuem coordenadas, veja nesta imagem:



As coordenadas deste evento (evento 001 – como mostrado nas informações) estão em 13 e 12, sendo 13 para x e 12 para y.
Para visualizar as coordenadas de determinados eventos no mapa, ou de um personagem, basta clicar sobre o mesmo, e no cantor inferior direito da sua tela no mapa, essas informações aparecerão.
As coordenadas servem para nós localizarmos determinado evento ou o personagem no mapa, e com essas informações trabalharmos em algo, utilizando coordenadas.
E é para isso que os comandos “evento >> coord x e coord y” nas opções de variáveis servem, para nós armazenarmos as coordenadas no mapa de um evento ou do personagem, numa variável para que posteriormente nós tenhamos a possibilidade de criar condições com elas.

Coordenadas estáticas:
Vamos utilizar um exemplo para deixar tudo mais claro?
Temos a seguinte situação: Se um evento qualquer no mapa, ousar pisar sobre um buraco, o mesmo irá desaparecer.
Para criarmos esta situação, iremos primeiramente colocar um evento de um buraco num local específico do mapa, faça algo como isto:



A localização (as coordenadas) deste meu evento do buraco, no meu mapa se encontram nas coordenadas 11 e 7:



Mas você poderá deixar nas coordenadas que desejar.

Agora, crie o evento que irá cair no buraco, e deixe-o em processo paralelo.
Vá então aos comandos de evento >> opções de variável >> e selecione uma variável que não esteja sendo utilizada, no meu caso a variável de ID 0001. >> Coloque o nome desta variável de “Coordenada X” e dê ok.
Agora, marque a opção “Evento” e escolha “este evento”:



Dê ok, e agora vá ao comando de opções de variável novamente, dê outro nome para outra variável “Coordenada Y”, marque a caixa “evento” escolha a opção “este evento” e mude a opção “Coord. X” para “Coord. Y”, dê ok e você terá algo assim:



Aqui as variáveis de ID 1 e 2 estão armazenando as coordenadas X e Y do evento no mapa.
Abaixo desses comandos, crie uma condição e marque a opção “variável” e escolha a variável com o nome de “coordenada X”.
Lembra-se das coordenadas X e Y do evento do buraco no mapa? 11 e 7? Então! Iremos utilizar essa informação para criar a condição de que se o evento estiver na coordenada x = 11 no mapa, e coordenada y =7 (que são as coordenadas do buraco) ele (o evento) irá desaparecer.
Então continuando, a variável “coordenada X” está armazenando o valor da coordenada X do evento no mapa, então se na condição, ele estiver na coordenada X 11 (a mesma do buraco) poderemos prosseguir. Com isto, troque a constante zero, pelo número 11:



Feito! Agora crie outra condição dentro desta condição (vide a aula 3) Só que desta vez substitua a variável “coordenada X” na condição, pela variável “coordenada Y”, e a constante altere para sete.
Depois de tudo isso, você terá algo assim:



Dentro da condição da coordenada Y, coloque para que após 50 frames, o comando “apagar evento temporário” seja executado:



Agora, deixe o evento com a freqüência em altíssima, e defina uma rota a este evento, que faça com que o mesmo fique sobre o buraco.
Em seguida, rode o teste do jogo, e espere até que o evento caia no buraco.
Quando ele fica sobre o evento do buraco, ele desaparece, certo? Isso ocorre porque você configurou para que quando o evento estivesse nas coordenadas x=11 e y=7 no mapa, o mesmo através de condições irá sumir, por conta do comando “apagar evento temporário”.
Então o que fizemos? Armazenamos as coordenadas X e Y de um evento no mapa, e determinamos a partir de condições de que se o mesmo estiver nas coordenadas 11 e 7 (x, y) o mesmo suma.
Claro que isto é apenas um exemplo das diversas coisas que podemos fazer com coordenadas.
Nós conseguimos fazer com que determinada ação ocorra (no caso fazer o evento desaparecer) com coordenadas estáticas, ou seja, com dois números pré-definidos, mas e se quiséssemos fazer com que, por exemplo, quando dois eventos no mapa se esbarrem, ambos explodissem?

Armazenando múltiplas coordenadas:
Colocando isso em prática, apague tudo o que foi feito até aqui, e agora crie um novo evento nas coordenadas 00 e 11 do seu mapa, e mais outro evento nas coordenadas: 19 e 11.

O que iremos fazer agora será trabalhar com condições de coordenadas que não estejam pré-configuradas por você, e sim se atualizando a cada frame.
Agora num dos eventos, deixe-o em processo paralelo, vá ao comando “opções de variável”, selecione a variável “coordenada X” e marque a caixa “evento >> este evento >> coord.x”.
Faça o mesmo procedimento com a coordenada Y (não se esqueça de trocar à variável ‘coordenada x’ pela a variável ‘coordenada y’).
Agora crie mais duas variáveis que armazenam as coordenadas X e Y, só que dessa vez do outro evento no mapa.
1-   Comandos de eventos >> opções de variável >> nova variável com o nome de “coord X 2” >> opção “evento” >> evento 2 (002: EV002) >> Coord X:



Faça o mesmo procedimento, porém agora com a coordenada Y do evento 2.
No final, você terá algo assim:



Agora estamos armazenando quatro variáveis: As variáveis das coordenadas X e Y do evento 1 e as coordenadas X e Y do evento 2.
Mas, porque estamos fazendo tudo isso? Porque armazenando as coordenadas de ambos os eventos, as informações das mesmas irão se atualizar a cada frame do jogo, e isso poderá fazer com que quando ambos os eventos se encontrem, eles explodam. Se estivéssemos fazendo isso com as coordenadas estáticas, nós iríamos ter o trabalho de ter que configurar nas condições, as constantes de cada tile que ambos os eventos pisam, e isso daria um trabalho imenso e desnecessário.
Continuando... Agora crie uma condição utilizando a variável “coordenada X” e substitua a opção “constante” por outra variável, sendo ela uma variável que também armazena a coordenada X de outro personagem: a variável “Coord X 2”:



Lembra na aula três, onde eu expliquei que poderíamos substituir constantes por outras variáveis? Então! Agora essa opção tem mais utilidade, não?
Mas continuando... Crie outra condição dentro dessa condição, da mesma forma, só que troque a variável “Coordenada X” por “Coordenada Y”. e “Coord X 2” por “Coord Y 2”. No fim de tudo isso, você terá algo semelhante a isto:



Estamos dizendo que se a coordenada x do evento 1 for igual a coordenada x do evento 2, e se a coordenada y do evento 1 for igual a coordenada y do evento 2, algo irá ocorrer.
Parece meio confuso, mas com o tempo você se acostuma.
E o que irá ocorrer é que ambos os eventos irão “explodir”, ou seja... Iremos colocar para que uma animação de explosão seja reproduzida, e depois chamamos o comando “apagar evento temporário”:



Agora deixe ambos os eventos em processo paralelo, e com a opção “atravessar” marcada. Não se esqueça de configurar uma rota para que ambos os eventos se encontrem.
No outro evento, copie o que foi configurado no evento anterior, porém substitua as variáveis da seguinte forma:



Agora rode o teste do jogo, e veja: Quando os eventos se encontram ambos explodem, e isso ocorreu porque configuramos para que quando os dois eventos estejam nas mesmas coordenadas, os dois explodissem.
Acho que deu para terem uma noção de como as coordenadas funcionam, e se quiser ver mais sistemas utilizando coordenadas tente baixar este sistema aqui.
Bom, como eu sempre digo, há várias maneiras de utilizar as coordenadas, e esses mostrados nos exemplos, são apenas uma delas.
Mas, agora que você já tem uma noção básica de como utilizar as coordenadas, poderá programar sistemas com elas, da forma que desejar.

Fim da quinta aula:
 
Depósito de Sistemas&Tutoriais © 2013 | Plantilla diseñada por Ciudad Blogger