Conectar-se
Quem está conectado
32 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 29 Visitantes

CRP-Max, Fuzenrad, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 23/10/2011
Número de Mensagens : 45
Insígnias de JAM :

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

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

Tutorial Detecção Stealth

em Qui 06 Jun 2013, 12:37
Nome : Tutorial de Detecção Stealth
Versões do Game Maker : Game Maker Studio
Dificuldade : Pequena
Créditos : Feito por Hszm (eu)

Introdução
Basicamente aqui vou ensinar como fazer uma área que detectará o player para funcionalidade em jogos no estilo stealth.
Peço que mesmo se usarem o tutorial escrito deêm like no tutorial em video e se inscrevam no canal, se for possível ajudará bastante a divulgar.Obrigado desde já.

Tutorial em Video

Spoiler:



Tutorial Escrito
Spoiler:

Primeiramente precisaremos de um objeto para ser o inimigo do player, o "vigia" que ficará com a área de detecção na sua frente como mostram os prints.



Esse objeto inimigo no seu evento create terá que criar outro objeto, no caso o objeto que detectará o player.É melhor que usem a função relative se estiverem usando D&D pois assim você poderá usar muito mais aquele objeto ao invez de ficar fazendo vários descartáveis que serão usados uma única vez.
Em sprites 32x32 que estiverem com a colisão centralizada esse código vai servir, do contrário é só ajustar os números.

Código:

instance_create(object_vigia.x+16,object_vigia.y,object_deteccao) Para mostrar a detecção na direita.
instance_create(object_vigia.x-16,object_vigia.y,object_deteccao) Para mostrar a detecção na esquerda.
instance_create(object_vigia.x,object_vigia.y+16,object_deteccao) Para mostrar a detecção em cima.
instance_create(object_vigia.x,object_vigia.y-16,object_deteccao) Para mostrar a detecção em baixo
Vale lembrar que dependerá tanto do código quanto da sprite para o efeito ficar bom.


Agora vamos ao Objeto de detecção.Nele precisaremos de algo para mostrar onde está o vigia,de modo que dependendo da posição do vigia em relação ao objeto detecção a sprite dele mude.
Logo no evento Create do objeto de detecção vamos botar em D&D as seguintes Actions :
Código:

If there is an object at position
Object_vigia
-16
0
Relative
---------------------------------------Start of a block---------------------------------------
Change sprite into - Sprite para detecção a direita.
----------------------------------------End of a block---------------------------------------
If there is an object at position
Object_vigia
16
0
Relative
---------------------------------------Start of a block---------------------------------------
Change sprite into - Sprite para detecção a esquerda.
----------------------------------------End of a block---------------------------------------
If there is an object at position
Object_vigia
0
-16
Relative
---------------------------------------Start of a block---------------------------------------
Change sprite into - Sprite para detecção a cima
----------------------------------------End of a block---------------------------------------
If there is an object at position
Object_vigia
0
16
Relative
---------------------------------------Start of a block---------------------------------------
Change sprite into - Sprite para detecção a baixo
----------------------------------------End of a block---------------------------------------
Agora adicionamos o evento de Colisão com o Objeto player.
Dentro dele adicionaremos o efeito que nós queremos que aconteça ao sermos detectados dentro desse jogo.Isso varia desde reiniciar a fase até a perder uma vida ou disparar um alarme que faria os inimigos atirarem em você, mas agora só irei ensinar o básico ,o resto ficará para imaginação de vocês.
Nesse evento de colisão faremos algo parecido com o do evento create, com as mesmas posições só que ao invés de mudar a sprite para uma normal, botaremos outra sprite mudando a cor ou chamando atenção para indicar que fomos detectados.
Uma boa dica é que as sprites normais da área de detecção sejam verdes e quando detectadas, mudem para sprites iguais só que vermelhas.

Sei que tanto o tutorial em video quanto o escrito ficaram meio falhos, mas a intenção é ensinar somente o básico dessa técnica.Por favor quero que deixem criticas construtivas nas respostas, irei ler todas assim que possível e modificarei o tutorial conforme as críticas sempre em visão de melhorá-lo.
Link para download da engine : http://migre.me/eT1V2
avatar
Ranking : Sem avaliações
Data de inscrição : 14/04/2011
Número de Mensagens : 691
Insígnias de JAM :

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

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

Re: Tutorial Detecção Stealth

em Sex 14 Jun 2013, 16:36
Parabéns pelo tutorial, bem organizado.
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