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
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 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

» 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


(resolvido)inimigo atirar

3 participantes

Ir para baixo

inimigo - (resolvido)inimigo atirar Empty (resolvido)inimigo atirar

Mensagem por manobrother Sex 15 Ago 2014, 17:19

eu estou fazendo o meu inimigo atirar e funcionou muito bem, ele atira para os lados certos e tal mas ele atira sem parar eu quero que ele atire com intervalo de segundos, tentei usar os alarmes mas nao consegui, aqui ta o código que ele atira:
Código:
if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
  
  
   if sprite_index = spr_ninja1_dir{
   speed = 0;
   sprite_index = spr_ninja1_parado_dir
   with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
   image_speed = 3;
   motion_set(0,20)}}

   if sprite_index = spr_ninja1_esq{
   speed = 0;
   sprite_index = spr_ninja1_parado_esq
   with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
   image_speed = 3;
   motion_set(180,20)}}}


Última edição por manobrother em Qua 03 Set 2014, 23:01, editado 1 vez(es)
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : inimigo - (resolvido)inimigo atirar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

inimigo - (resolvido)inimigo atirar Empty Re: (resolvido)inimigo atirar

Mensagem por AxeInLine Sex 15 Ago 2014, 17:28

Tô com paciência de criar códigos hoje não, só vou dar uma dica U.U
Cria uma variável e coloque dentro de um alarme com o tempo que você quer para que ela aumente 1 a cada step (lembre-se de lupar), por exemplo, dai nesse código você coloca um if pedindo o valor da variável:
Código:
if (var_tempo = 30){
if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
  if sprite_index = spr_ninja1_dir{
  speed = 0;
  sprite_index = spr_ninja1_parado_dir
  with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(0,20)}}

  if sprite_index = spr_ninja1_esq{
  speed = 0;
  sprite_index = spr_ninja1_parado_esq
  with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(180,20)}}}
var_tempo = 0;
}


Acho que dará certo, boa sorte!
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : inimigo - (resolvido)inimigo atirar 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

inimigo - (resolvido)inimigo atirar Empty Re: (resolvido)inimigo atirar

Mensagem por manobrother Sex 15 Ago 2014, 23:06

AxeInLine escreveu:Tô com paciência de criar códigos hoje não, só vou dar uma dica U.U
Cria uma variável e coloque dentro de um alarme com o tempo que você quer para que ela aumente 1 a cada step (lembre-se de lupar), por exemplo, dai nesse código você coloca um if pedindo o valor da variável:
Código:
if (var_tempo = 30){
if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
  if sprite_index = spr_ninja1_dir{
  speed = 0;
  sprite_index = spr_ninja1_parado_dir
  with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(0,20)}}

  if sprite_index = spr_ninja1_esq{
  speed = 0;
  sprite_index = spr_ninja1_parado_esq
  with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(180,20)}}}
var_tempo = 0;
}


Acho que dará certo, boa sorte!
cara nao consegui, vc consegue explicar melhor?
manobrother
manobrother

Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios : inimigo - (resolvido)inimigo atirar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

inimigo - (resolvido)inimigo atirar Empty Re: (resolvido)inimigo atirar

Mensagem por Thyago Sex 15 Ago 2014, 23:10

cara coloque em create:

Código:
alarm[0]=room_speed*2;

e no alarm[0]

Código:
alarm[0]=room_speed*2;

if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
 
 
  if sprite_index = spr_ninja1_dir{
  speed = 0;
  sprite_index = spr_ninja1_parado_dir
  with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(0,20)}}

  if sprite_index = spr_ninja1_esq{
  speed = 0;
  sprite_index = spr_ninja1_parado_esq
  with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(180,20)}}}
Thyago
Thyago

Games Ranking : Nota B

Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios : inimigo - (resolvido)inimigo atirar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

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

Ir para o topo Ir para baixo

inimigo - (resolvido)inimigo atirar Empty Re: (resolvido)inimigo atirar

Mensagem por AxeInLine Sáb 16 Ago 2014, 11:12

O_O Hoje estou com vontade de fazer códigos, resolvi te ajudar "melhor" (Quero menosprezar você não Thyago, só quero tentar ajudar ele tongue).
Bem, primeiro vamos criar uma variável, vou chama-la de var_tempo, mas pode chama-la do o que quizer, e vou fazer com que o alarm seja 1 step por segundo, ficando assim seu create:
Código:
var_tempo = 0;
alrm[0] = 1;
Dentro do alarm[0] vou fazer para que a var_tempo aumente uma por step, sem se esquecer de loopar (ou sei lá como faz isso), fazendo seu alarm[0] ficar assim:

Código:
var_tempo += 1;
alarm[0]=1;
Então agora, aonde estava:

Código:
if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
  if sprite_index = spr_ninja1_dir{
  speed = 0;
  sprite_index = spr_ninja1_parado_dir
  with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(0,20)}}

  if sprite_index = spr_ninja1_esq{
  speed = 0;
  sprite_index = spr_ninja1_parado_esq
  with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(180,20)}}}
Vai ficar:

Código:
if (var_tempo = 30)//30 steps = 1 segundo // ou seja, muda este 30 pelo tempo entre um tiro o outro.
{
if distance_to_object(obj_personagem) < 150 and ! collision_line(x,y,obj_personagem.x,obj_personagem.y,obj_bloco1,0,0){
  if sprite_index = spr_ninja1_dir{
  speed = 0;
  sprite_index = spr_ninja1_parado_dir
  with(instance_create(obj_ninja1.x-2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(0,20)}}

  if sprite_index = spr_ninja1_esq{
  speed = 0;
  sprite_index = spr_ninja1_parado_esq
  with(instance_create(obj_ninja1.x+2,obj_ninja1.y+2,obj_shuriken2)){
  image_speed = 3;
  motion_set(180,20)}}}
var_tempo = 0;
}
Agora entendeu? O que fizemos foi criar uma variável que aumentava 1 a cada step por meio dos alarm's, e usamos ela como condição para que o inimigo pudesse atirar, acho que pode-se dizer assim Happy.
Agora espero ter ajudado! 
AxeInLine
AxeInLine

Data de inscrição : 23/03/2014
Reputação : 40
Número de Mensagens : 211
Prêmios : inimigo - (resolvido)inimigo atirar 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

inimigo - (resolvido)inimigo atirar Empty Re: (resolvido)inimigo atirar

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