IA de Zumbi está um lixo!

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

IA de Zumbi está um lixo!

Mensagem por Lauro em Ter 10 Jul 2012, 21:50

Galera, estou com um pequeno probleminha em meu jogo, criei um inimigo tradicional como o koopa...
No Create eu coloquei:

Código:

lado=1
vida=3
E D&D que altera o sprite.

No Step:

Código:


//Gravidade
if place_free(x,y + 1){
gravity = 0.5
}else{
gravity = 0
}
x+=lado
E uns test sides Para configurar a variável lado, caso seja -1 ou 1. E mais um Test Variable com tal qual caso vida = 0 a instância é destruída.
Código:
if lado=-1 {lado=1}
if lado=1 {lado=-1}
E no evento de colisão com o bloco:

Só tem um probleminha... o zumbi não anda nem exibe animação!! FFFUUUU

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por andreh em Ter 10 Jul 2012, 22:34

mas vc não passou nenhum comando pra fazer ele andar, pelo menos eu não identifiquei.
não sei se eu entendi bem, então se eu interpretei errado, explica um pouco melhor.

andreh

Ranking : Nota C
Número de Mensagens : 183
Idade : 20
Data de inscrição : 09/03/2011
Notas recebidas : C
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por William Lima em Qua 11 Jul 2012, 00:48

Ao invés de colocar no evento de colisão com bloco coloca no step o seguinte:
Event Step
Código:
if !place_free(x+lado,y){lado=-lado}
Suponho que irá funcionar!

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por DiegoBr em Qua 11 Jul 2012, 01:40

Você não colocou para ele andar e nem para ele mudar seu sprite meu amigo a unica coisa que você fez foi :
1 - Declarou que seu lado no inicio é 1 ! E que ele terá 3 vidas de inicio !
Código:
lado=1
vida=3
Resumo : Você pode se você quiser ,em vez de usar este D&D use junto com o código
Código:
sprite_index = Sprite que você escolher
.
2 -Agora você colocou se estiver livre um pixel acima a gravidade será 0.5 fazendo ele cair ao contrario ela será 0 (estará desligada), ele estará no vacuo não irá cair !
Código:
 //Gravidade
if place_free(x,y + 1){
gravity = 0.5
}else{
gravity = 0
}
x+=lado
Resumo : Aconselho usar
Código:
 Lado +=1
no lugar de
Código:
x+=lado
assim o lado almentará 1 mudando.
3 - Eu entendi o que tu quis fazer aqui :
Código:
 if lado=-1 {lado=1}
if lado=1 {lado=-1}
mas não tente isso mais no game maker pois isto não dá certo,ele não consegue identificar se desceu ,nesse caso só criando outra variavel para identificar que mudou,algo mais dificel mas por MP eu te ajudo Happy

OBS:Para você não ter futuros problemas com o Lado aconselho colocar este código no step :
Código:
if lado <=0{lado=0}///Se o lado for menor ou igual a 0 ,ele será sempre zero nunca sendo negativo , se isso não der certo ponha sem o =
if lado >=2{lado=1}///Se o lado for maior ou igual a 2,vele será sempre 1 nunca sendo maior que.

DiegoBr

Ranking : Nota D
Número de Mensagens : 127
Data de inscrição : 11/03/2011
Notas recebidas : D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.diogost.no.comunidades.net

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por William Lima em Qua 11 Jul 2012, 11:10

Explicando porque não estava mudando nem andando... o char estava sempre em colisão com o bloco então trocava de lado o tempo todo. E o bug em relação a imagem do player foi basicamente devido à isso... se você sempre usa uma sprite do zombie virado para a direita, pode colocar esse image_xscale aqui do code abaixo:


Código:
 //Gravidade
if place_free(x,y + 1){
gravity = 0.5
}else{
gravity = 0
}
x+=lado
//muda o lado
if !place_free(x+lado,y){lado=-lado}
//sprites
sprite_index=sprite_desejada
//se o lado for sempre em valor 1 pode usar esse code abaixo
image_xscale=lado


E meu querido Diogo, seu code vai dar errado porque o lado vai aumentar sem limites, e vai andar só para a direita, pois o a variavel X irá sempre adicionar o valor lado, que neste caso vai adquirir um valor imenso pois você não a limitou...
Cheque de novo seu code Diogo.

Falou!

William Lima

Ranking : Nota A
Número de Mensagens : 426
Idade : 22
Data de inscrição : 10/09/2010
Notas recebidas : C+A+A+B+A
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 2
   : 0

http://williammustaffa.blogspot.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Lauro em Qua 11 Jul 2012, 18:05

William Lima escreveu:Explicando porque não estava mudando nem andando... o char estava sempre em colisão com o bloco então trocava de lado o tempo todo.

Bom, o código de mudar de lado não funcionou, mas a causa do problema já foi encontrada, obrigado. Quanto ao problema da animação do player foi por burrice minha mesmo, mesmo assim obrigado.

Inseri um objeto chamado obj_vira, que no evento de colisão do zumbi com o obj_vira, ocorre o código "if lado=-1 {lado=1}
if lado=1 {lado=-1}", mas o que eu achei estranho é que o zumbi não vira para a esquerda scratch


Quanto ao Diogo, acho que não entendeu muito bem a situação.
x+=lado
Se lado =-1, x+=-1, ou seja, x-=1
Se lado =1, x +=1.


Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Thiago_o_programador em Qua 11 Jul 2012, 19:38

use image_xscale=-1, ele vai virar, ex:
Código:
if obj_player.x<x {image_xscale=-1}else{image_xscale=1}

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Lauro em Qua 11 Jul 2012, 19:55

@Thiago
A questão não é o sprite, e sim a direção da movimentação.

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Esaucm98 em Qua 11 Jul 2012, 20:42

vc adiciona gravidade , na colisão com o objeto que e o chão, VSPEED = 0

e no step:


Código:
if distance_to_object(obj_player) < 100
{
if x<obj_player.x
{
direction = 0
speed = 1
}
if x>obj_player.x
{
direction = 180
speed = 1
}
}

desculpe pelas chaves e que não consigo usar o TAB nesse forum

eu usei isto e ele se movimentou normalmente...

vlw

Esaucm98

Ranking : Nota D
Número de Mensagens : 275
Data de inscrição : 13/05/2012
Notas recebidas : D
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.legioncrafters.tk

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Lauro em Qua 11 Jul 2012, 20:55

Mas isso criaria uma IA que segue o player...

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Esaucm98 em Qua 11 Jul 2012, 21:20

Lauro escreveu:Mas isso criaria uma IA que segue o player...


me desculpe se eu estiver errado, mas a lógica não é um zumbi correr pra cima do player? se colidir com ele tirar vida? ¬¬

Esaucm98

Ranking : Nota D
Número de Mensagens : 275
Data de inscrição : 13/05/2012
Notas recebidas : D
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://www.legioncrafters.tk

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Lauro em Ter 17 Jul 2012, 19:02

Esaucm98 escreveu:
me desculpe se eu estiver errado, mas a lógica não é um zumbi correr pra cima do player? se colidir com ele tirar vida? ¬¬

Não, a IA deste inimigo seria semelhante a IA de um goomba, está especificado no começo do tópico.

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: IA de Zumbi está um lixo!

Mensagem por Conteúdo patrocinado Hoje à(s) 20:26


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