Conectar-se
Quem está conectado
15 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 14 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Data de inscrição : 10/04/2014
Número de Mensagens : 11
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Preciso de ajuda com IA de Inimigo

em Dom 08 Fev 2015, 02:02
Olá pessoal, eu gostária de uma grande ajuda no IA de um inimigo.

É o seguinte, ta tudo certo o movimento do player e do inimigo, os dois se movimentão por hspeed, e quando do play no jogo, o player parece estar travado no chao, ele não anda, as vezes anda ao ficar pulando, mas fica travando toda hora.

Agradeço qualquer ajuda.

Step do Player:
Código:
//// código para levelup system ////
if xp >= nextlevel{
level += 1 // Adiciona +1 ao level
dano += 1// Adiciona +1 a strength
defesa += 1// Adiciona +1 para a defesa
maxhp += 15 // Adiciona +5 para a vida
hp = maxhp;
nextlevel *= 1.5 /*Aqui vai multiplicar 1.5 para subir para o próximo Level Exemplo:  Para ir para o level 2 precisa de 100 exp,para subir subir para o Level 2 você tem que ter 150) Pode mudar se for pouco */
}
   
//// código para o ataque ////
if keyboard_check(ord("Z")){
timed-=1.5

if lado = 0{
image_speed = 0.2
sprite_index = spr_p1fire_left
if timed <= 0{
Tiro = instance_create(x-8,y+11,obj_tiro);
Tiro.hspeed = -7
timed = 10;
}
}
if lado = 1{
image_speed = 0.2
sprite_index=spr_p1fire_right
if timed <= 0{
Tiro = instance_create(x+48,y+11,obj_tiro);
Tiro.hspeed = +7;
timed = 10;
}
}

}

if keyboard_check_released(ord("Z")){
if lado = 0{
image_speed=1
sprite_index = spr_p1stand_left
}
if lado = 1{
image_speed=1
sprite_index=spr_p1stand_right
}
}


//// código para a gravidade ////
if place_free(x,y+2){
gravity=1
}else{
gravity=0
}

//// código para o movimento do objeto ////
if keyboard_check_pressed(vk_left){
hspeed -= 7
sprite_index = spr_p1run_left
lado = 0
}

if keyboard_check_pressed(vk_right){
hspeed += 7
sprite_index = spr_p1run_right
lado = 1
}

if keyboard_check_pressed(vk_up){
if !place_free(x,y+2){
vspeed=-10

if lado = 0{
sprite_index=spr_p1jump_left
}
if lado = 1{
sprite_index=spr_p1jump_right
}
}
}

if keyboard_check_pressed(vk_down){
if lado = 0{
sprite_index=spr_p1down_left
}
if lado = 1{
sprite_index=spr_p1down_right
}
}

if keyboard_check_released(vk_left){
hspeed=0
sprite_index=spr_p1stand_left
lado = 0
}

if keyboard_check_released(vk_right){
hspeed=0
sprite_index=spr_p1stand_right
lado = 1
}

Step do Inimigo:
Código:
if not place_free(x+hspeed,y){ hspeed = 0 }

//// Morre quando vida chegar a 0 ////
if hp <= 0{
effect_create_above(ef_explosion,x+16,y+20,3,c_red)
obj_p1.xp += 20
instance_destroy();
}

//// código para a gravidade ////
if place_free(x,y+2){
gravity=1
}else{
gravity=0
}

//// Teste ////

if obj_p1.x < x{
hspeed = -3
lado=0
sprite_index = spr_p1run_left
}

if obj_p1.x>x{
hspeed = +3
lado=1
sprite_index = spr_p1run_right
}

if distance_to_object(obj_p1) < 50{
timed-=1.5
hspeed=0

if lado = 0{
image_speed = 0.2
sprite_index = spr_p1fire_left
if timed <= 0{
Tiro = instance_create(x-8,y+11,obj_tiro);
Tiro.hspeed = -7
timed = 20;
}
}

if lado = 1{
image_speed = 0.2
sprite_index=spr_p1fire_right
if timed <= 0{
Tiro = instance_create(x-8,y+11,obj_tiro);
Tiro.hspeed = +7
timed = 20;
}
}
}
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: Preciso de ajuda com IA de Inimigo

em Dom 08 Fev 2015, 10:45
Se ele só trava quando a fase inicia, significa que ele está atrofiado em um objeto sólido na room. Sertifique-se que ele não está em contato com nada.

Se ele anda e trava varias e varias vezes quando anda em linha reta, significa que a máscara do objeto está ruim. Basta definir uma mascara retangular e possivelmente será resolvido.
Data de inscrição : 10/04/2014
Número de Mensagens : 11
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Preciso de ajuda com IA de Inimigo

em Dom 08 Fev 2015, 11:34
Obrigado pela ajuda Willy, era a mask mesmo, somente diminui ela, e fico normal.
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