Detectar aproximação

Detectar aproximação

Autor: Kentona
Traduzido por: Carlos Fernandes

Este tutorial irá mostrar como programar um evento paralelo que detecta ou não a aproximação do herói em um raio específico, sendo o evento o centro.

Este evento de detectação pode ser usado em inúmeras situações, incluindo (mas não limitado) IA de movimentação de monstros, detecção de armadilhas, movimento de NPC ou achar itens escondidos.

O código em si é baseado num simples circulo geométrico

Você precisa:
lista Três Variáveis
lista Um evento

Passos:
lista Criar um novo evento
lista Marcar o evento com processo paralelo
lista Criar 3 variáveis: LocalizaçãoX , LocalizaçãoY e Raio
lista Inserir este código na janela de códigos de eventos

Codigo de aproximação

A fórmula é:

lista (X_evento – X_heroi) 2 + (Y_evento – Y_heroi) 2 <= Raio 2
A potência serve para retirar o negativo do calculo.

Eu aleatoriamente usei 5 como meu teste de raio, mas pode ser usado o valor que você preferir. O evento iniciará quando o herói ficar a um raio de 5 tiles do evento em qualquer direção.

Expandindo o conceito:
Para IA de monstros, você pode ter seu código em um evento de monstro, e se o herói se aproximar do raio de detecção, ele começa a correr atrás do herói. A mesma idéia pode ser aplicada para NPCs.

Para uma maquina de achar itens/armadilhas, o evento pode ser iniciado como invisível, mas com o raio o código pode mudar o gráfico do evento para indicar que um item/objeto foi achado. Para armadilhas, você pode colocar uma variável de dificuldade de armadilha.

Por exemplo, digamos que o herói tem uma maquina de habilidade 5 e a dificuldade de armadilha 3. com o código abaixo, você pode mudar a variável raio e por habilidade da maquina menos a dificuldade da armadilha:

Raio com Abilidade do Herói

Agora o herói detectara a armadilha com dois tiles antes. Se a dificuldade da armadilha for maior que a habilidade da maquina, ponha o variável raio como zero:

Código com Abilidade e IF

1 Responses to Detectar aproximação

  1. Neutronx disse:

    Olá, Darkjouse!
    Eu estava lendo o tutorial, mas as imagens não estão mais disponíveis (parece que a VM tá fora do ar). Tem como você fazer upload das imagens em outro lugar e postar aqui? =P

Deixe um comentário