🤔 Para Refletir
:
"No alto daquela ideia, plantei um projeto de jogo. A empolgação da ideia bate, o fracasso da ideia cheira."
-
DanTheLion
Javascript está desativado. Para uma melhor experiência, por favor, habilite o javascript no seu navegador antes de prosseguir.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser .
Sensor de eventos - Tutorial 1
Console.Write("Hello World!");
? 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: 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: 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: 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: 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: 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:
? 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.