Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Spawn dos inimigos
Spawn dos inimigos
É um jogo de uma nave que tem que destruir rochas indo para sua direção (180). Não quero ficar adicionando rochas lá na frete para todas irem para direção da nave, queria fazer um sistema spawn; o jogo cria as rochas la na frente em um eixo Y aleatório, mas as rochas não estão sendo criadas. Alguém sabe o que aconteceu?
Criei um sprite, transformei em objeto (obj_spawn), ele deve criar rochas la na frente. O código de step dele é esse:
Step
if(random(100) > 90){
instance_create_layer(random_range(sprite_get_width(spr_rocha),room_width - sprite_get_width(spr_rocha)), -sprite_get_height(spr_rocha), "Instances", obj_rocha);
}
Obs: Esse código está muito comprido no Game Maker, se alguém souber uma forma de colocar parte dele em outra linha, ou uma forma mais curta de fazer um spawn, eu aceito ;-;
Criei um sprite, transformei em objeto (obj_spawn), ele deve criar rochas la na frente. O código de step dele é esse:
Step
if(random(100) > 90){
instance_create_layer(random_range(sprite_get_width(spr_rocha),room_width - sprite_get_width(spr_rocha)), -sprite_get_height(spr_rocha), "Instances", obj_rocha);
}
Obs: Esse código está muito comprido no Game Maker, se alguém souber uma forma de colocar parte dele em outra linha, ou uma forma mais curta de fazer um spawn, eu aceito ;-;
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Spawn dos inimigos
Pelo que vi, criando deve estar, só não deve estar no enquadramento da tela, pois você esta fazendo ele ser aleatório no eixo X e não no eixo Y, você colocou para ele ficar negativo no eixo Y então ele esta provavelmente para fora da tela, deveria ser assim.
Código: Selecionar todos
var sprh = sprite_get_height(spr_rocha);
var ry = random_range(sprh, room_height-sprh);
if(random(100) > 90){
instance_create_layer(0, ry, "Instances", obj_rocha);
}
Re: Spawn dos inimigos
Top, começaram a spawnar, mas as rochas estão dando spawn na esquerda, e saindo da tela, quero que elas deem spawn na direita da tela, pois a nave esta na esquerda.
Acho que entendi o código (só acho). O room_height se refere a ambos os lados da room, mas e se eu me refiro ao lado direito? É isso que eu deveria mudar para as rochas darem spawn na direita?
Obs: Minha nave deu uma esticada com esse código
Acho que entendi o código (só acho). O room_height se refere a ambos os lados da room, mas e se eu me refiro ao lado direito? É isso que eu deveria mudar para as rochas darem spawn na direita?
Obs: Minha nave deu uma esticada com esse código
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Spawn dos inimigos
Sim o room_height você utiliza para o eixo Y e o room_width para o X
Para nascerem no lado direito basta adicionar o room_width no eixo X.
Para nascerem no lado direito basta adicionar o room_width no eixo X.
Código: Selecionar todos
instance_create_layer(room_width, ry, "Instances", obj_rocha);
Re: Spawn dos inimigos
Top man, ta dando certinho. Vlw.
Tu sabe como resolver esse negocio da nave estar esticando? Isso já aconteceu comigo em outro jogo, e consegui resolver, mas nesse código ai, eu não sei não.
Tu sabe como resolver esse negocio da nave estar esticando? Isso já aconteceu comigo em outro jogo, e consegui resolver, mas nesse código ai, eu não sei não.
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Spawn dos inimigos
Deve ser o image_xscale e o image_yscale, só tentar mundar eles com o tamanho padrão que é 1.
Qualquer coisa coloca eles no final de todo o código no step.
O problema também pode ser no Draw, você pode estar usando o draw_sprite_ext(), nele possui o image_xscale/y, talvez tenha alguma variável erra lá.
Código: Selecionar todos
image_xscale = 1;
image_yscale = 1;
O problema também pode ser no Draw, você pode estar usando o draw_sprite_ext(), nele possui o image_xscale/y, talvez tenha alguma variável erra lá.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes