🤔 Para Refletir :
"No alto daquela ideia, plantei um projeto de jogo. A empolgação da ideia bate, o fracasso da ideia cheira."
- DanTheLion

Sensor de eventos - Tutorial 1

Mayleone Feminino

Conde
Membro
Membro
Console.Write("Hello World!");
Juntou-se
25 de Outubro de 2016
Postagens
267
Bravecoins
3.095
mabvB.png

? Introdução

Esse sistema consiste em fazer com que quando o personagem passe pelo raio de visão de determinado evento, algo ocorra.
O raio de visão poderá ser definido por você, bem como suas direções (esquerda, direita, cima e baixo).
Esse tutorial irá abordar o sistema em que os sensores funcionam em eventos estáticos, mas a parte dois irá ensinar a criar sensores para eventos em movimento.


? Considerações:


Eu estou utilizando os gráficos do clássico: Bonanza e Bros para criar este tutorial, mas você poderá utilizar os gráficos que desejar, obviamente.
É de suma importância que você tenha um conhecimento básico sobre as variáveis para acompanhar o tutorial. Se desejar, dê uma lida nestas aulas.


? Determinando as coordenadas:


Vamos iniciar o tutorial determinando primeiramente onde o evento que irá te visualizar, ficará no mapa.
Crie um novo evento no seu mapa, e determine as coordenadas para o mesmo, como mostrado na imagem abaixo:

Untitled%25202.png


Eu determinei que o meu evento ficará nas coordenadas (x,y) 13 e 14 no mapa, porém você poderá coloca-lo onde preferir, mas é necessário termos os dados dessas coordenadas, para posteriormente utilizarmos em nossas condições.
Agora deixe o evento em processo paralelo, e dentro dos comandos de eventos crie quatro variáveis: Duas dessas variáveis devem armazenar as coordenadas X do evento e do personagem no mapa, e as outras duas as coordenadas Y de ambos. Por fim teremos algo assim:

Untitled%25203.png


Eu farei com que quando o evento olhar para a esquerda e o personagem estiver em seu raio de visão, determinadas ações ocorram, então com essa informação farei com que quando o evento 'estiver olhando para a esquerda' as condições posteriores entrem em ação.
Você poderá fazer com que o seu evento possa visualizar o personagem à qualquer direção, como já dito, mas eu irei fazer apenas com a direção esquerda.
Continuando: Irei guardar numa variável a posição do evento. Para isto crie uma quinta variável, e nela armazene a direção do evento no mapa:
? Opções de variável ? Evento ? Este evento ? Direção.

Agora nós temos cinco variáveis: Duas delas armazenam as coordenadas X do evento e personagem no mapa, outras duas armazenam as coordenadas Y, e a quinta armazena a direção que o evento se encontra no mapa.


? Determinando o raio de visão:


Agora que as variáveis estão a armazenar as informações necessárias, crie uma condição utilizando a variável que armazena a direção do evento, e coloque sua constante em dois (pois 2 == direção virado para baixo nas variáveis - [Onde o personagem se encontra]  ler aula 4 sobre variáveis)
Dentro dessa condição, iguale à variável da coordenada Y do evento à variável da coordenada Y do personagem, numa segunda condição.
No final, teremos algo assim:

Untitled%25204.png


Como estamos determinando o raio de visão do evento, apenas para a direção da esquerda, nós igualamos as coordenadas Y (na horizontal) de ambos, porém se você for fazer algo com as direções cima ou baixo, iguale as coordenadas X de ambos, ao invés das coordenadas Y.

Lembram-se de que guardamos a informação das coordenadas deste evento no mapa? Então, agora a partir dessa informação nós iremos determinar o raio de visão do evento.
Como o meu evento se encontra nas coordenadas (13,14) no mapa, eu irei definir um raio de visão para ele, de até 5 tiles de distância, ou seja, se o personagem estiver 5 tiles antes da coordenada 13 no mapa, o evento irá visualizar o personagem e ativar determinados comandos.
Esses 5 tiles antes da coordenada X= 13 seriam respectivamente as coordenadas X: (8, 9, 10, 11 e 12)
Só que para não termos de criar 5 condições diferentes contendo cada coordenada, iremos simplesmente criar uma condição com a variável da coordenada X do herói, e deixar sua constante em 13 e setar a opção ''menor'' dentro da condição:

Untitled%25205.png


Isso significa que se o personagem estiver numa coordenada X menor que 13 no mapa, algo ocorrerá.
Claro que precisaremos impor um limite também, pois o RPG Maker irá interpretar que o personagem estando em  qualquer direção X no mapa menor que 13 ele irá ativar seus comandos, e é o que nós não queremos. Queremos que apenas o evento nos 'visualize' se o personagem estiver cinco tiles na frente do evento.
Para criarmos este limite, basta colocar uma outra condição dentro dessa condição da coordenada X com a seguinte informação:
A condição da coordenada X com a constante igual à 8 e com a opção "maior ou igual'' setada, no final tudo ficará assim:

Untitled%25206.png


Isso significa que o evento só irá nos ver, 5 tiles antes de sua frente (utilizando o comando da condição variável >> coordenada X do personagem menor que 13) e nada mais que isto (utilizando o comando da condição de variável da coordenada X do personagem maior ou igual à 8 --- os 5 tiles)

Agora, dentro dessa última condição basta definir o que irá ocorrer quando o personagem estiver no raio de visão do evento.

Para o evento olhar para os lados (no meu caso) deixe sua rota como pré-definida, e defina um movimento do evento em ciclos, onde o mesmo ora olha para a esquerda, ora olha para a direita:

Untitled%25207.png


? Finalização:


E é isto, agora você poderá fazer com que algo ocorra em determinados eventos, se o personagem passar pelo raio de visão deles.
Qualquer dúvida com relação a este tutorial, pode me procurar.
 
Voltar
Topo Inferior