Conectar-se
Quem está conectado
28 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 26 Visitantes

J. Marlon, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

IA de Zumbi está um lixo!

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
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: IA de Zumbi está um lixo!

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.
avatar
Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 0
Ver perfil do usuáriohttp://williammustaffa.blogspot.com

Re: IA de Zumbi está um lixo!

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!
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 11/03/2011
Número de Mensagens : 127
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.diogost.no.comunidades.net

Re: IA de Zumbi está um lixo!

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.
avatar
Ranking : Nota A
Notas recebidas : C+A+A+B+A
Data de inscrição : 10/09/2010
Número de Mensagens : 426
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 0
Ver perfil do usuáriohttp://williammustaffa.blogspot.com

Re: IA de Zumbi está um lixo!

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!
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: IA de Zumbi está um lixo!

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.

avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 711
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: IA de Zumbi está um lixo!

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}
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: IA de Zumbi está um lixo!

em Qua 11 Jul 2012, 19:55
@Thiago
A questão não é o sprite, e sim a direção da movimentação.
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 13/05/2012
Número de Mensagens : 275
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.legioncrafters.tk

Re: IA de Zumbi está um lixo!

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
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: IA de Zumbi está um lixo!

em Qua 11 Jul 2012, 20:55
Mas isso criaria uma IA que segue o player...
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 13/05/2012
Número de Mensagens : 275
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://www.legioncrafters.tk

Re: IA de Zumbi está um lixo!

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? ¬¬
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 09/11/2010
Número de Mensagens : 854
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.google.com

Re: IA de Zumbi está um lixo!

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum