Fusion Makers
Faça login para usufruir de todos nossos recursos. Ainda não tem uma conta? Inscreva-se já!
Conectar-se

Esqueci minha senha

Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
1 usuário online :: Nenhum usuário registrado, Nenhum Invisível e 1 Visitante :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 65 em Sex 01 Abr 2016, 22:48
Estatísticas
Temos 256 usuários registrados
O último usuário registrado atende pelo nome de Kallangod1

Os nossos membros postaram um total de 5265 mensagens em 574 assuntos

IA de um inimigo - Parte 1

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

IA de um inimigo - Parte 1

Mensagem por FireSoul em Sab 20 Fev 2010, 20:39

Nível: Médio [|||--]

Bom, resolvi postar um tutorial que ensina a fazer uma IA básica, como de um goomba.

Você vai precisar de:
3 alterable values
1 active pra ser o inimigo
Backdrops


Você precisa entender:
Movimento custom
Hot spot
Fast loops
Collision masks


Agora vamos aos eventos:

Código:
Always >> Set X position "inimigo" to X "inimigo" + alterable value A "inimigo"
        Set Y position "inimigo" to Y "inimigo" + alterable value B "inimigo"
Código:
Start of frame >> Set alterable value "inimigo" to 1

O primeiro evento vai fazer com que a posição X e Y do nosso inimigo seja baseada nos valores A e B dele, como no movimento customizado, e o segundo evento vai fazer com que ele comece a andar. Sem o segundo evento ele não andará, ou seja, ele ficará parado... pra sempre lol

Agora vamos fazer a gravidade:

Código:
X "inimigo" is overlapping a backdrop >> Add 1 to alterable value C "inimigo"
+ Alterable value B "inimigo" < 8

Esse X é o negate, para fazê-lo clique com o botão direito no evento e selecione "negate". Esse evento vai fazer com que o contador de gravidade inicie.

Código:
Alterable value C "inimigo" = 3 >> Set alterable value C "inimigo" to 0
                          Add 1 to alterable value B "inimigo"

O evento anterior agirá junto com esse para a gravidade ficar perfeita.

Agora vamos fazer ele parar quando encostar no chão:

Código:
"inimigo" is overlapping a backdrop >> Set alterable value C "inimigo" to 0
                             Set alterable value B "inimigo" to 0
                             Start loop "1" 50 times

Isso fará com que ele pare. Mas tem um bug. Aquele, que atravessa o chão, que nem no mov. custom! Aquela praga não larga do nosso pé, então é pra isso que temos o fast loop! Observe que eu zerei o valor C e B. Com isso, eu anulei totalmente a gravidade. Lembre-se de zerar os dois, senão vai estragar sua gravidade perfeita.

Código:
On loop "1" >> Set Y position "inimigo" to Y "inimigo" - 1
+ "inimigo" is overlapping a backdrop

No evento anterior eu ativei o loop, e nesse daqui nós estamos utilizando o loop. Quando ele estiver encostando no chão, ele vai subir 1 pixel.

Terminamos a gravidade Razz

Agora o movimento X

Primeiro observe a largura e onde se localiza o hot spot do seu inimigo. Por exemplo, o meu tem 18 pixels de largura e o hot spot fica nos 9 pixels de largura (no meio). Então, os lados do inimigo vão ser +10 e -10, pois ele tem 9 pixels pra cada lado (a partir do hot spot), e deve ser o quanto tem pra cada lado + ou - 1.

Se tivesse 40 de largura e o hot spot tivesse na posição 25, sobraria 25 pra esquerda e 15 pra direita, então os lados seriam -26 e +16 (- é esquerda e + é direita)

Agora vamos mecher com collision masks, lembrando de fazer como expliquei acima. Como disse antes, meu hot spot fica na posição 9 e meu inimigo tem 18 de largura. Como sobra 9 pixels pra cada lado (a partir do hot spot), os lados do inimigo no meu caso vão ser +10 e -10.

Código:
X "inimigo" + 10,Y "inimigo" is an obstacle >> Set alterable value A "inimigo" to alterable value A "inimigo" * (-1)
Código:
X "inimigo" - 10,Y "inimigo" is an obstacle >> Set alterable value A "inimigo" to alterable value A "inimigo" * (-1)

O primeiro é pra direita e o segundo é pra esquerda. O * (-1) é pro valor inverter e ele começar a caminhar pro outro lado. Se você não fizer direito, ele pode dar bug e seu inimigo vai sair subindo pelas paredes, então faça certo ou veja uma cena muito :rolleyes:

Terminamos!

Espere, e as direções?

Isso, as direções. Elas estão aqui:

Código:
Alterable value A "inimigo" > 0 >> Set direction to >
Código:
Alterable value A "inimigo" < 0 >> Set direction to <

Ta aí, tudo explicadinho. Very Happy

Se usar já sabe né? Créditos a Hazael (eu), Silas, Skilo, Alves e Matheus290.

Hazael - Matéria
Silas - Collision masks
Skilo - Tutorial de movimento custom
Alves - Fast loops
Matheus290 - Engine de movimento custom

FireSoul
Usuário

Mensagens : 3
Data de inscrição : 20/02/2010
Idade : 20

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Eskyz em Dom 23 Jan 2011, 18:36

Cara, ótima matéria, mas...
Se eu usar, só vou dar créditos a você. Por mais que você só saiba fazer isso por causa deles, quem ME ajudou, foi você. A não ser que eles tenham te ajudado a fazer a matéria. É normal agradecer a eles no fim da matéria por terem te ajudado quando não sabia e tal, mas fazer todo mundo dar créditos a eles, não...! Pense assim: se todo mundo exigisse isso, qualquer jogo teria créditos colossais.

Agradeço a:
Fulano - por ter me ensinando mov pré-definido
Cicrano - por ter ensinando ao Fulano mov pré-definido, e assim, ele pode fazer a matéria
Beltrano - por ter ensinado ao Cicrano mov pré-definido
... mil fulanos depois:
Milésimo-ano: por ter ensinado ao Noningentésimononagésimonono-ano
avatar
Eskyz
Administrador
Administrador

Mensagens : 360
Data de inscrição : 28/02/2010
Idade : 20
Localização : Brasil

Ver perfil do usuário http://www.mmfmakers.rg3.net/

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Sonic_BR em Seg 24 Jan 2011, 11:09

kkkkkkkkk ri demais kkkkkkkkkkkkkkk

Agradeço a:
Fulano - por ter me ensinando mov pré-definido
Cicrano - por ter ensinando ao Fulano mov pré-definido, e assim, ele pode fazer a matéria
Beltrano - por ter ensinado ao Cicrano mov pré-definido
... mil fulanos depois:
Milésimo-ano: por ter ensinado ao Noningentésimononagésimonono-ano

Então,gostei muito da materia,vou usala e dar seus creditos...



_____________________


Aww yeah!
Achei uma "apostila" de pixel art!

Sonic_BR
Usuário

Mensagens : 477
Data de inscrição : 25/04/2010
Idade : 19
Localização : Vitória da Conquista-BA

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por danilox em Dom 05 Jun 2011, 20:29

E nunca mais voltou...
Evil or Very Mad
avatar
danilox
Usuário

Mensagens : 101
Data de inscrição : 05/07/2010
Idade : 18

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Eskyz em Seg 06 Jun 2011, 13:09

Mas não podemos fazer nada se ele desanimou e desistiu. É uma opção dele. Já deveríamos ser gratos por ele ter disponibilizado esta pequena introdução.

Flw.
avatar
Eskyz
Administrador
Administrador

Mensagens : 360
Data de inscrição : 28/02/2010
Idade : 20
Localização : Brasil

Ver perfil do usuário http://www.mmfmakers.rg3.net/

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Filipe Santos em Qui 03 Nov 2011, 19:40

Sonic_BR escreveu:kkkkkkkkk ri demais kkkkkkkkkkkkkkk

Agradeço a:
Fulano - por ter me ensinando mov pré-definido
Cicrano - por ter ensinando ao Fulano mov pré-definido, e assim, ele pode fazer a matéria
Beltrano - por ter ensinado ao Cicrano mov pré-definido
... mil fulanos depois:
Milésimo-ano: por ter ensinado ao Noningentésimononagésimonono-ano

Eu também ri demaaaaaaaaais!!! PUTZ!!!!! (peguei mania de ficar falando PUTZ xD)

lol! lol! lol! lol! lol! lol! lol! lol! lol! lol!
avatar
Filipe Santos
Usuário

Mensagens : 119
Data de inscrição : 03/12/2010
Idade : 15
Localização : Fórum MMFMakers LOL

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Eskiel em Qui 03 Nov 2011, 21:47

"Milésimo-ano: por ter ensinado ao " ri alto com essa parte kkkkk vou usar essa expressão pro resto da vida kkkk



_____________________



Jogos Terminados:
TOP BALL 2.0- http://fusionmakers.ace.st/t478-topball-20#3783 99.9%
Projetos:
No Name - Secret Project - 4%
FPS - Death Row: Survive if you can - 40% -- Parado ¬¬
►► Video - Video Demo
►► Demo - Demo Online
Para mais informações acesse EskielGD
avatar
Eskiel
Moderador

Mensagens : 245
Data de inscrição : 09/02/2011
Idade : 22
Localização : Assis

Ver perfil do usuário http://www.eskielgd.blogspot.com

Voltar ao Topo Ir em baixo

Re: IA de um inimigo - Parte 1

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum