Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
inteligencia artificial! inimigo seguindo jogador!
4 participantes
Página 1 de 1
inteligencia artificial! inimigo seguindo jogador!
estou criando um game arcade de plataforma, quero criar uma inteligencia artificial para o inimigo do jogo!, quero criar um sistema de spawn, e assim que o inimigo spawnar, perseguir o jogador, e quando chegar perto do jogador atacar e se atacar 3 vezes o jogador morre! se o jogador atacar o inimigo 1 vez, o inimigo morre!
estou tentando fazer isso, estou quebrando a cabeça mas não consigo, entendo muito pouco do gml, estou aprendendo a programar ainda, só entendo o pascal! kkkk.
estou tentando fazer isso, estou quebrando a cabeça mas não consigo, entendo muito pouco do gml, estou aprendendo a programar ainda, só entendo o pascal! kkkk.
loopnaner- Data de inscrição : 30/01/2014
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
sistema de spawn
O sistema de spawn vc pode fazer assim:
Cria um objeto chamado obj_spawn e dentro dele coloca assim:
Evento Create:
No evento create na aba control e pega a folhinha que ta escrito execute code e arrasta para dentro do evento create e escreve assim alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo;
Evento Alarm 0:
no evento alarm 0 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim
instance_create(x, y, Nome do objeto);
alarm[1]=tempo que vc quer para spawnar outro objeto ou bixo ;
Evento alarm 1:
no evento alarm 1 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim
instance_create(x, y, Nome do objeto);
alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo ;
assim ele vai ficar fazendo esse ciclo vai chamar o
alarm 0 ai vai esperar o tempo que vc coloco ai vai chamar o alarm 1 ai vai esperar o tempo que vc coloco e vai voltar para o alarm 0, e assim por diante.
OBS: não esqueça de colocar o obj_spawn na room se não ira dar erro.
Caso não consiga fazer ou de erro me avise.
Cria um objeto chamado obj_spawn e dentro dele coloca assim:
Evento Create:
No evento create na aba control e pega a folhinha que ta escrito execute code e arrasta para dentro do evento create e escreve assim alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo;
Evento Alarm 0:
no evento alarm 0 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim
instance_create(x, y, Nome do objeto);
alarm[1]=tempo que vc quer para spawnar outro objeto ou bixo ;
Evento alarm 1:
no evento alarm 1 vai na aba control e pegue a folhinha de novo e arraste ela de novo para dentro do evento e coloque assim
instance_create(x, y, Nome do objeto);
alarm[0]=tempo que vc quer para spawnar outro objeto ou bixo ;
assim ele vai ficar fazendo esse ciclo vai chamar o
alarm 0 ai vai esperar o tempo que vc coloco ai vai chamar o alarm 1 ai vai esperar o tempo que vc coloco e vai voltar para o alarm 0, e assim por diante.
OBS: não esqueça de colocar o obj_spawn na room se não ira dar erro.
Caso não consiga fazer ou de erro me avise.
Última edição por allan_machado49 em Ter 30 Set 2014, 04:28, editado 3 vez(es) (Motivo da edição : Esqueci de um codigo)
Re: inteligencia artificial! inimigo seguindo jogador!
tem 1 maneira bem simples crie 1 inimigo no step coloque isso
STEP:
if instance_exists(player_object) {
if player_object.x < x {
hspeed=-3
} else if player_object.x > x {
hspeed=+3
}
}
//player_object nome do jogador
no jogador va em create e crie 1 variavel chamada hp
CREATE:
hp = 5*room_speed; //não mude esse 5 ele esta resultado a dar 3
agora crie o evento END STEP e coloque isso
END STEP:
if hp <=0 { sound_stop_all();
room_restart();} //caso queira trocar a ação desejada apenas bote outro codigo nesse { ate o fim de }
agora
crie 1 time line chamada Spawn clique em add e coloque step 80 ou o tempo de step que você quer
após isso adicione o code e coloque isso no code
instance_create(576,416,Inimigo) //nome do inimigo o 576 e 416 eo local na sala que ele nasce
agora crie 1 objeto chamado obj_spawn crie o evento Create:
adicione 1 time line das actions ao lado >>>
ela esta localizada em main2 1 ampulheta você sabe né clique nela e bote no create ali em time line coloque Spawn o nome da time line que você tinha criado a position deixe em 0 e também start immediately se quiser que repita a time line ative o loop
agora volte no seu personagem e crie colisão com inimigo após isso crie 1 codigo e bote isso hp -= 1
bom e só isso me corriga se estiver errado
STEP:
if instance_exists(player_object) {
if player_object.x < x {
hspeed=-3
} else if player_object.x > x {
hspeed=+3
}
}
//player_object nome do jogador
no jogador va em create e crie 1 variavel chamada hp
CREATE:
hp = 5*room_speed; //não mude esse 5 ele esta resultado a dar 3
agora crie o evento END STEP e coloque isso
END STEP:
if hp <=0 { sound_stop_all();
room_restart();} //caso queira trocar a ação desejada apenas bote outro codigo nesse { ate o fim de }
agora
crie 1 time line chamada Spawn clique em add e coloque step 80 ou o tempo de step que você quer
após isso adicione o code e coloque isso no code
instance_create(576,416,Inimigo) //nome do inimigo o 576 e 416 eo local na sala que ele nasce
agora crie 1 objeto chamado obj_spawn crie o evento Create:
adicione 1 time line das actions ao lado >>>
ela esta localizada em main2 1 ampulheta você sabe né clique nela e bote no create ali em time line coloque Spawn o nome da time line que você tinha criado a position deixe em 0 e também start immediately se quiser que repita a time line ative o loop
agora volte no seu personagem e crie colisão com inimigo após isso crie 1 codigo e bote isso hp -= 1
bom e só isso me corriga se estiver errado
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
bom, consegui fazer o bixo spawnar, agora só falta o lance do HP e a inteligencia artificial mesmo! desde já obrigado :DD
loopnaner- Data de inscrição : 30/01/2014
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
desculpe se te confudi amigo as variaveis são tipo 1 modo de fazer 1 ação acontecer elas não valem nada a não ser 1 coisa para fazer você ativar outras
tipo hp=5
bote no seu monstro no create:
hp=5
na colisão com 1 tiro sei lá bote
hp-=1
no step você bota:
if hp == 0 {Ação desejada}
se quiser que seu inimigo seja destruido
bote ai no step if hp == 0 {instance_destroy();}
tipo hp=5
bote no seu monstro no create:
hp=5
na colisão com 1 tiro sei lá bote
hp-=1
no step você bota:
if hp == 0 {Ação desejada}
se quiser que seu inimigo seja destruido
bote ai no step if hp == 0 {instance_destroy();}
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
Boa tarde Colega,
Não se esqueça de colocar do evento de colisão de seu projétil com o jogador um instance_destroy () se não seu tiro vai tirar todo o HP de uma só vez e vai continuar andando!!
gabriel33245900 escreveu:desculpe se te confudi amigo as variaveis são tipo 1 modo de fazer 1 ação acontecer elas não valem nada a não ser 1 coisa para fazer você ativar outrastipo hp=5
bote no seu monstro no create:
hp=5
na colisão com 1 tiro sei lá bote
hp-=1
no step você bota:
if hp == 0 {Ação desejada}
se quiser que seu inimigo seja destruido
bote ai no step if hp == 0 {instance_destroy();}
Não se esqueça de colocar do evento de colisão de seu projétil com o jogador um instance_destroy () se não seu tiro vai tirar todo o HP de uma só vez e vai continuar andando!!
Mateus O de Andrade- Games Ranking :
Data de inscrição : 25/03/2014
Reputação : 37
Número de Mensagens : 410
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
valeu andre mais ja que não e 1 bala percebo que ele pode tentar criar 1 soco invisivel ate 1 certa distancia atingindo o inimigo correto =D
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
sim, quero criar um soco! kkk
loopnaner- Data de inscrição : 30/01/2014
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inteligencia artificial! inimigo seguindo jogador!
Bom pode usar minha rotina aqui
crie 1 variavel chamada direita
e outra esquerda
no create
CREATE:
agora no step:
o tiro de fogo você troca pelo nome do seu soco o botão A atira se quiser trocar essa rotina faz com que atire na direção que você estiver
no soco você bota isso no create:
agora no step:
bom espero ter ajudado a me esqueçendo esse 20 ai no motion_set significa a velocidade da bala então se quiser rapida so mudar isso
crie 1 variavel chamada direita
e outra esquerda
no create
CREATE:
- Código:
esquerda=true
direita=true
andando=false
chao=true
image_speed = 0.2;
direcao = 1 // 1 - direita / 0 - esquerda
direcao = 0
tiro=3
agora no step:
- Código:
//Checar se esta andando e se está para a direita
if keyboard_check(vk_right){//Se apertar para a dieita
direita=true //Está para a direita
andando=true //Está andando.
}else if keyboard_check(vk_left){//Se nao apertar para a direita, mas apertar para a esquerda
esquerda=true
direita=false//Não está para a direita
andando=true //Está a andando
}else{//Se não estiver apertando nem para a direita e nem para a esquerda
andando=false// Não está andando
}
if ( keyboard_check_pressed(ord("A")) && instance_number(Tiro_de_fogo) < 3){ //Se tiver menos de 3 balas, ele atira
if tiro>0
{
tiro-=1
//Ação de atirar, criar projétil - no seu caso, o instance_create(x,y,tiro_de_fogo)
}
if direita = false
{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index=sprite14
motion_set(180,20)}}
if direita = true
{
with( instance_create(x,y,Tiro_de_fogo)){
sprite_index= sprite13
motion_set(0,20)}}}
o tiro de fogo você troca pelo nome do seu soco o botão A atira se quiser trocar essa rotina faz com que atire na direção que você estiver
no soco você bota isso no create:
- Código:
tempo =5*room_speed;
agora no step:
- Código:
tempo -= 1
if tempo == 0{instance_destroy();}
bom espero ter ajudado a me esqueçendo esse 20 ai no motion_set significa a velocidade da bala então se quiser rapida so mudar isso
Última edição por dharrison em Qua 01 Out 2014, 20:29, editado 1 vez(es) (Motivo da edição : adiocinei as caixas de code (dharrison))
gabriel33245900- Data de inscrição : 06/09/2014
Reputação : 55
Número de Mensagens : 361
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» inimigo seguindo
» BUG ! inimigo seguindo o personagem
» [Resolvido]Ajuda com o inimigo seguindo o player
» Inteligencia Artificial do Inimigo
» Como fazer um inimigo mudar de sprite seguindo a direção de um Path
» BUG ! inimigo seguindo o personagem
» [Resolvido]Ajuda com o inimigo seguindo o player
» Inteligencia Artificial do Inimigo
» Como fazer um inimigo mudar de sprite seguindo a direção de um Path
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos