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



 
InícioPortalInimigos BlogRegistarÚltimas imagensInimigos Orkut10RegrasEntrar

 

 Inimigos

Ir para baixo 
2 participantes
AutorMensagem
mathy220
Novato
Novato
avatar


Número de Mensagens : 4
Warning : 0%
Premios :
Inimigos Trophy10: 0
Inimigos Trophy11: 0
Inimigos Trophy12: 0

Inimigos Empty
MensagemAssunto: Inimigos   Inimigos Icon_minitimeDom Mar 09, 2008 8:51 pm

1º- Inimigo comum

Vamos lá pessoal para a primeira matéria, não sou muito bom com explicações mas vou tentar, vamos começar fazendo a AI de um inimigo para seu jogo, esse inimigo é aquele clássico que anda de um lado para o outro.

Primeiro crie as sprites do inimigo, uma chamada " inimigo_esquerda" e outra chamada " inimigo_direita" (Sem aspas).Pois se você escrever algo errado o script vai acusar um erro e o jogo não vai funcionar corretamente, Agora, crie um bloco chamado "Wall" ou como quiser, esse bloco sera sólido e terá que ficar invisível, então nas propriedades do bloco desmarque a opção visible (para que ele não apareça no jogo ) pois ele será o bloco que fará seu inimigo bater e voltar.

Agora que criamos os sprites vamos para a segunda parte, vamos criar um objeto para o inimigo, coloque o nome que quiser nele e em Create coloque esses códigos pois as variáveis vão ser ativadas no inicio do objeto, pois Create é o inicio das ações do objeto:

Código:
Gravi_dade = true // você pode dar o nome que quiser para a variável
pa_rado = true
direi_ta = true
velo_cidade = 4

Código:
image_speed=0.55 // você também pode mudar a velocidade, a que te agrada melhor,ele muda a velocidade dos sprites

Clique na seta virada para a direita, em Speed coloque 3 e não marque a opção Relative, agora clique em Ok.

Crie um evento Step e escreva o código:

Código:
//AQUI VOCÊ DEFINE A GRAVIDADE
if place_free(x,y+1)
  {
  gravi_dade = false
  gravity = 0.75
  }
else
  {
  gravi_dade= true
  gravity = 0
  }


//LIMITAR VELOCIDADE DE QUEDA
if (vspeed > 10) {vspeed = 10}

Já estamos no final, crie um evento colision com o Wall e escreva:

Código:
if sprite_index=spr_inimigo_direita
{
sprite_index=spr_inimigo_esquerda;
}
else
{
sprite_index=spr_inimigo_direita;
}

Logo depois:

Código:
hspeed*=-1;//isso inverte a velocidade ao bater no Wall,( hspeed )esse código é para inverter somente na horizontal.

Agora que terminamos vamos criar o objeto chão, pois se não tiver esse objeto o seu inimigo vai cair e sumir na tela, agora crie um evento colision do inimigo com o objeto chao e escreva:

Código:
move_contact_solid(direction,8)
vspeed = 0

2º- inimigo com IA

Com esse código o inimigo ira pular quando você se aproximar dele, ele também pode ser usado para outras coisas como atirar,segir o personagem mas isso vou explicar mais abaixo.

IA básico:

Código:
if distance_to_object(obj_player)<37     
  {
  vspeed=-14
  }

IA simples:

Evento Create:

Código:
alarm[0]=round(random(90)+90)

Alarm0:

Código:
 
//aqui o seu inimigo atira e toca o som do tiro ao obj_player se aproximar.
if distance_to_object(obj_player)<150
{
sound_play(tiro)
instance_create(x-1,y,bala);
}
alarm[0]=60

Se você quiser que o inimigo faça todas as ações juntas faça o seguinte crie o mesmo código de antes, esse:

Código:
if distance_to_object(obj_player)<37     
  {
  vspeed=-14
  }
Ir para o topo Ir para baixo
LucasMan
Administrador
Administrador
LucasMan


Masculino Número de Mensagens : 561
Warning : 0%
Premios :
Inimigos Trophy10: 0
Inimigos Trophy11: 0
Inimigos Trophy12: 0
Habilidade 1 : Inimigos Gm11
Habilidade 2 : Inimigos Design10

Inimigos Empty
MensagemAssunto: Re: Inimigos   Inimigos Icon_minitimeDom Mar 09, 2008 10:47 pm

Vlw mathy !
vc ta ajudando bastante o forum com essas materias.
Ir para o topo Ir para baixo
 
Inimigos
Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
 :: Makers :: GameMaker :: Tutoriais -
Ir para: