Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Ontem à(s) 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Ontem à(s) 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
inimigo atirando pro lado que vai o personagem
3 participantes
Página 1 de 1
inimigo atirando pro lado que vai o personagem
Estou com uma dúvida:
Criei um inimigo com IA mas só consegui fazer ele perseguir e atirar no personagem
pro lado direto.Queria q quando o personagem fosse pra esquerda, o inimigo mudasse
pro sprite da esquer.e atirasse com o tiro da esquer.
Isso com os mesmos movimentos q faz do lado direito.
Ai está a step do inimigo:
var vel;
vel=3
if instance_exists(object109)&&distance_to_object(object109)>1{
if x>object109.x{hspeed=-vel}
if x<object109.x{hspeed=vel}
}else{hspeed=0}
// IA pular buracos
if place_free(x+9,y+5)&& not place_free(x,y+1){hspeed=5 vspeed=-15}
//pulo pra trás
if place_free(x-9,y+5)&& not place_free(x,y+1){hspeed=-5vspeed=-15}
if instance_exists(object109){
if y>object109.y && not place_free(x+5,y+1){vspeed=-15 hspeed=+3}
if y>object109.y && not place_free(x-5,y+1){vspeed=-15 hspeed=-3}
if distance_to_object(object109)<170{atira+=random(300)}
}
if atira>100{instance_create(x,y,object119)atira=0}
Lembrando:
object109:personagem
object119:bala do inimigo
De já, agradeço.
Criei um inimigo com IA mas só consegui fazer ele perseguir e atirar no personagem
pro lado direto.Queria q quando o personagem fosse pra esquerda, o inimigo mudasse
pro sprite da esquer.e atirasse com o tiro da esquer.
Isso com os mesmos movimentos q faz do lado direito.
Ai está a step do inimigo:
var vel;
vel=3
if instance_exists(object109)&&distance_to_object(object109)>1{
if x>object109.x{hspeed=-vel}
if x<object109.x{hspeed=vel}
}else{hspeed=0}
// IA pular buracos
if place_free(x+9,y+5)&& not place_free(x,y+1){hspeed=5 vspeed=-15}
//pulo pra trás
if place_free(x-9,y+5)&& not place_free(x,y+1){hspeed=-5vspeed=-15}
if instance_exists(object109){
if y>object109.y && not place_free(x+5,y+1){vspeed=-15 hspeed=+3}
if y>object109.y && not place_free(x-5,y+1){vspeed=-15 hspeed=-3}
if distance_to_object(object109)<170{atira+=random(300)}
}
if atira>100{instance_create(x,y,object119)atira=0}
Lembrando:
object109:personagem
object119:bala do inimigo
De já, agradeço.
darth vader- Data de inscrição : 29/10/2009
Reputação : 0
Número de Mensagens : 85
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inimigo atirando pro lado que vai o personagem
Cria uma variável global chamada lado no create do inimigo:
OBS : Caso você já tenha uma variável chamada "lado", invente outro nome para a do meu código !
No step do inimigo coloca:
OBS : A sprite original do seu inimigo deve estar com a frente virada para a direita !
Agora se você colocou já um código de movimento no step da " bala do inimigo " apague, e coloque isso no "create" dele:
Outra coisa porque você não coloca nome nos seus objetos, para ficar mais fácil de se entender ?
OBS : Caso você já tenha uma variável chamada "lado", invente outro nome para a do meu código !
- Código:
globalvar lado;
lado=1
No step do inimigo coloca:
OBS : A sprite original do seu inimigo deve estar com a frente virada para a direita !
- Código:
if hspeed>0{lado=1}
if hspeed<0{lado=0}
if lado=1{image_xscale=1}
if lado=0{image_xscale=-1}
Agora se você colocou já um código de movimento no step da " bala do inimigo " apague, e coloque isso no "create" dele:
- Código:
if lado=1 {hspeed=15} // regule do seu gosto
if lado=0 {hspeed=-15} //regule do seu gosto
Outra coisa porque você não coloca nome nos seus objetos, para ficar mais fácil de se entender ?
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: inimigo atirando pro lado que vai o personagem
então,no caso,qual lado(0 e 1) corresponde o esquerdo e o direito?
darth vader- Data de inscrição : 29/10/2009
Reputação : 0
Número de Mensagens : 85
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inimigo atirando pro lado que vai o personagem
"1" corresponde à direita e "0" à esquerda ! Mas isso não importa muito, o que importa é o que acontece quando o lado é igual á "1" e o que acontece quando o lado é igual à "0",e quando eles se tornam "0" ou se tornam "1", quais as funções vão ocorrer quando isso acontecer... Pois os numeros você pode trocá-los por qual você pretender.
Por exemplo se você preferir trocar o "0" por "8" e o "1" por "50", você pode fazer, só não pode esquecer de dizer para o computador quando que o lado vai ser igual à "8" e o que vai acontecer quando o lado ser igual à "8" !
Por exemplo se você preferir trocar o "0" por "8" e o "1" por "50", você pode fazer, só não pode esquecer de dizer para o computador quando que o lado vai ser igual à "8" e o que vai acontecer quando o lado ser igual à "8" !
Denis Lemos- Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Unity
- C#
- Godot
- C ou C++
Re: inimigo atirando pro lado que vai o personagem
valeu cara!me tirou tantas duvidas q vou reativar alguns projetos meus esquecidos!
um feloz natal e feliz ano novo antecipado!!!
um feloz natal e feliz ano novo antecipado!!!
darth vader- Data de inscrição : 29/10/2009
Reputação : 0
Número de Mensagens : 85
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: inimigo atirando pro lado que vai o personagem
ASHUASHUASHU
Bem antecipado em... =D
Hehe
Legal Denis... Tiro umas duvidas minhas também ! =D
Abraços
CyraxX
Bem antecipado em... =D
Hehe
Legal Denis... Tiro umas duvidas minhas também ! =D
Abraços
CyraxX
RodrigoM.- Data de inscrição : 06/08/2009
Reputação : 5
Número de Mensagens : 569
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Inimigo Atirando Sem Parar
» [AJUDA] Inimigo atirando em direções aleatorias (360º)
» Inimigo virar a sprite para o lado que ele for
» como faço para o avião inimigo ficar sempre atirando ?
» Virar personagem de lado?
» [AJUDA] Inimigo atirando em direções aleatorias (360º)
» Inimigo virar a sprite para o lado que ele for
» como faço para o avião inimigo ficar sempre atirando ?
» Virar personagem de lado?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos