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

CRP-Max, diassis, rafaelviodres1

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

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

(resolvido)inimigo atirar

em 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)
avatar
Data de inscrição : 23/03/2014
Número de Mensagens : 211
Insígnias de JAM :

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

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

Re: (resolvido)inimigo atirar

em 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!
avatar
Data de inscrição : 31/10/2013
Número de Mensagens : 206
Insígnias de JAM :

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

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

Re: (resolvido)inimigo atirar

em 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?
avatar
Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

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

Re: (resolvido)inimigo atirar

em 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)}}}
avatar
Data de inscrição : 23/03/2014
Número de Mensagens : 211
Insígnias de JAM :

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

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

Re: (resolvido)inimigo atirar

em Sab 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! 
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