GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Colisões não funcionando
por RastaMaan Hoje à(s) 19:49

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Hoje à(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


personagem seguir

4 participantes

Ir para baixo

personagem seguir Empty personagem seguir

Mensagem por jogador_programador Dom 11 Abr 2010, 19:54

uma duvida que eu tenho e como fazer o personagem rival lutar contra o player
por favor respondão ja caçei no forum mas eu achei mas não entendi
jogador_programador
jogador_programador

Data de inscrição : 06/04/2010
Reputação : 0
Número de Mensagens : 146
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Markituh Dom 11 Abr 2010, 20:04

Use Inteligências Artificiais. Tem uma aqui para chefes postada pelo Froidz,mas acho que também servirá em inimigos/rivais.
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por jogador_programador Dom 11 Abr 2010, 20:07

cara voce podia me add no msn ?
jogador_programador
jogador_programador

Data de inscrição : 06/04/2010
Reputação : 0
Número de Mensagens : 146
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Markituh Dom 11 Abr 2010, 20:13

Acho que não,já já meu pai chega ai vou ter que sair do computador. Mas o tutorial está bem detalhado(E eu mesmo não me dou bem com essa parada de IA Mad)
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por fonetico Dom 11 Abr 2010, 22:30

IA não é um bicho papão de 7 cabeças, é só uma questão de programar. Eu por exemplo, crio variáveis que vão definir a ação do chefe, por exemplo, variáveis que vão decidir se ele anda ou não ou se ele pula. Aí conforme eu vou programando, só é necessario colocar alguns trues e alguns falses e já era.
fonetico
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por jogador_programador Seg 12 Abr 2010, 13:16

mas como que faz uma IA
jogador_programador
jogador_programador

Data de inscrição : 06/04/2010
Reputação : 0
Número de Mensagens : 146
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Froidz Seg 12 Abr 2010, 15:29

Bom amigo, vamos lá, tenho 15 minutos aqui, vou tentar te ensinar algo simples, é bom que você saiba manipular bem as variáveis, inclusive as variáveis x e y, ou hspeed e vspeed que são usadas para movimentar o inimigo.

Parte 1

Então vamos lá, você tem que ter em mente, que cada variávei corresponderá a uma ação, seja ela de pular, de atacar, de nadar, de voar etc, ou seja, nesse exemplo, utilizarei três ações diferentes, veja que é fácil identificá-las:

Código:
pular = false
soco = false
atirar = false
lado = 0

Veja, são três ações diferentes, isso deve ser adicionado ao evento Create. A variável lado, irá definir apenas o lado no qual o player está direcionado.

Agora, vejamos, vamos programar tais ações, com alarms, já que são três ações que serão executadas em tempos diferentes (ou ao mesmo tempo), iremos criar três alarms diferentes, vá em Add Event -> Alarms, e adicione três alarms.

Vamos começar pelo alarm0, que será o manipulador da variável pular:

Código:
if pular = true and soco = false {
vspeed = 10 //Pula caso a variável pular for true e se não estiver dando soco
}

alarm[0] = 10 //Executar alarm0 a cada 10 milisegundos (ou milésimos, sempre me confundo com isso)

O que programamos acima, é apenas o pulo, e ainda não está ativado, deverá ser ativado no evento Step (que será programado mais pra frente).

Agora no alarm1, iremos programar o soco. O soco, nada mais será que a alteração da sprite do player e a parada dele, ou seja, ele irá parar quando dar o soco, pois pense ele andando com a imagem do soco?

Então, adicione no evento Alarm1:

Código:
if soco = true {
sprite_index = spr_soco //Mudar para a sprite do soco, é necessário criar a sprite spr_soco!
hspeed = 0 //Faz ele não andar para os lados
vspeed = false //Faz com que ele não pule
}

alarm[0] = 15 //Veja a diferença do alarm anterior, isso se dá, pois o soco terá um intervalo maior que o pulo

Vamos analizar o código, o que fizemos agora, é checar se o soco é verdadeiro, e então, configuramos a ação do soco, que é mudar a sprite, e impedi-lo de andar e de pular.

Agora, vamos a última ação, que é a de atirar, a de atirar é um tanto quanto mais complexa, pois são necessárias mais linhas de códigos, mas é algo extremamente simples, até para você, que apararenta ser iniciante.

Então, adicione no evento Alarm2:

Código:
//Aqui, configuraremos o tiro
if atirar = false { //caso não estiver atirando
atirar = true //Ativar a variável

//Aqui, vamos verificar a direção do player, assim sendo, iremos configurar a direção em que a bala deverá seguir
if lado = 0 { //caso o player estiver direcionado para a direita

var tiro; //Cria uma variável temporária para definir o tiro
tiro = instance_create(x,y,obj_tiro) //Cria o obj_tiro
tiro.hspeed = -15 //Define uma velocidade e direção para o tiro

}else{ //Caso estiver no lado contrário, no caso, a esquerda

var tiro; //Cria uma variável temporária para definir o tiro
tiro = instance_create(x,y,obj_tiro) //Cria o obj_tiro
tiro.hspeed = 15 //Define uma velocidade e direção para o tiro

}

//A única diferença nos códigos acima, é que um atira para a esquerda, e, o outro, para a direita

}

alarm[2] = 5

Bom, está configurado o tiro, mas vale lembrar, que você tem que adicionar o obj_tiro, e adicionar uma sprite a ele, não é necessário adicionar configurações a ele pois isso é feito na hora do tiro.

Parte 2

Bom, até aqui tudo bem, mas vamos colocar essas ações para serem executadas?

É bem simples, primeiro o pulo, vamos ao evento Step, e adicione o seguinte código:

Código:
if distance_to_object(obj_player)<100 {//Se a distância entre o inimigo e o player for menor que 100 pixels

pular = true //Ativa o pulo
alarm[0] = 10 //E ativa o alarm0

}else{//Caso contrário

pular = false //Desativará o pulo, assim sendo, o alarm0 não fará efeito algum

}

Agora que programamos a hora em que o inimigo deverá pular, vamos fazer ele dar um soco:

Código:
if distance_to_object(obj_player)<50 {//Se a distância entre o inimigo e o player for menor que 100 pixels

soco = true //Ativar o soco
alarm[1] = 15 //Ativar o alarm1 também, que corresponde ao soco

}

E então, programaremos o tiro:

Código:
if distance_to_object(obj_player)<30 {//Caso o player estiver muito perto (30 pixels de distância)

atirar = true //Ativar o tiro
alarm[2] = 5 //Ativa o alarm2

}

Bom, vamos analizar o que foi feito:
Todo o código postado no evento Step, serve para ativar as ações programadas nos alarms, pois não adianta você adicionar o código no alarm, ele só será executado caso o alarm for chamado, foi o que fizemos no evento Step.

-Mas por que no evento Step?

Pois, ele e o Draw são executados a todo momento.
Vale lembrar, que o obj_player tem que ser criado para ser usado, caso você tenha um player com nome diferente do aqui postado, é só modificar o código e adicionar o nome correto do objeto que você usa como player.

Agora, também no evento Step, adicione o seguinte código para verificar o lado no qual o player está posicionado:

Código:
if keyboard_check_released(vk_left) {//Caso ter soltado a tecla com seta direcional para esquerda

lado = 1 //Mudar valor da variável para 1

}


if keyboard_check_released(vk_right) {//Caso ter soltado a tecla com seta direcional para direita

lado = 0 //Mudar valor da variável para 0

}

Bom, agora que já configuramos a direção, é só você adicionar o código ao jogo e testá-lo, vale lembrar também, que eu não testei o código, fiz de cabeça, está quase certo que funcione, mas qualquer problema, avise-me.

Você, como eu e como qualquer um outro, pode se confundir com o 1 e o 0 da variável lado, eu sempre me confundo, nunca sei se 1 ou 0 é para direita, uma boa dica, é você tornar essa variável uma string, ou seja, adicionar aspas e colocar algo entre elas, para identificar o lado, veja um exemplo no evento create:

Código:
lado = "direita"

Assim, é muito mais fácil identificar o lado que o player está.
Valeu! o/
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Froidz Qua 14 Abr 2010, 06:30

Desculpem o duplo post, mas a minha ajuda foi inútil ? o.o
Froidz
Froidz

Data de inscrição : 03/08/2008
Reputação : 4
Número de Mensagens : 1053
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Markituh Qua 14 Abr 2010, 07:30

Não é que sua ajuda foi inútil,é que o cara ainda não entrou no fórum Happy
Markituh
Markituh

Games Ranking : Sem avaliações

Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por jogador_programador Qui 15 Abr 2010, 10:44

deu certo a tds obriagado por terem postado para resolver a duvida
jogador_programador
jogador_programador

Data de inscrição : 06/04/2010
Reputação : 0
Número de Mensagens : 146
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por jogador_programador Qui 15 Abr 2010, 10:45

topico fechado
jogador_programador
jogador_programador

Data de inscrição : 06/04/2010
Reputação : 0
Número de Mensagens : 146
Prêmios : personagem seguir Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

personagem seguir Empty Re: personagem seguir

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos