Ponto de direção para todas instâncias
Enviado: Ter Jul 09, 2019 3:03 pm
Boa tarde para todos.
Estou aprendendo a programar no game maker studio 2 e não estou conseguindo solucionar um problema.
Estou criando um jogo de nave (para teste e aprendizado) em que naves inimigas aparecem aleatoriamente fora da room e que "todas" deveriam atirar na direção do (player).
No objeto obj_controle, no evento "step" possui o seguinte código:
if(random(100) > 99)){
instance_create_layer(1980, random_range(50, 1000), "Instances", obj_nave_inimiga_1);
}
esse código cria um numero aleatório de 0 a 100 a cada step e se o numero sorteado for maior que 99, cria uma nave inimiga em posições aleatórias fora da room em que todas se movimentam apenas em linha reta na (horizontal) da direita para esquerda.
No objeto "obj_nave_inimiga_1" no evento step possui o código:
if(instance_exists(obj_nave)){
instance_create_layer(x, y,"Instances", obj_tiro_inimigo)
}
aqui, se "obj_nave" (player) existe, cria um tiro.
No obj_tiro_inimigo, no evento create:
speed = 4;
direction = point_direction(obj_nave_inimiga_1.x, obj_nave_inimiga_1.y, obj_nave.x, obj_nave.y);
O problema é que apenas uma nave atira na direção do player, as outras atiram, mas seguem o mesmo padrão da nave que está atirando. Ou seja, os tiros seguem o mesmo padrão de uma nave que está atirando apenas. (não sei o entendimento ficou claro)
-------------------------------<-(enemy_2) (segue o padrão do enemy_1)
Exemplo: (player) -> -------------------------- <-(enemy_1) (Ponto de direção correto)
-----------------------------<-(enemy_3) (segue o padrão do enemy_1)
Gostaria que todas instâncias atirassem na direção do player. Não sei o que está havendo de errado.
Quem puder ajudar eu agradeço.
Muito obrigado pela atenção de todos.
Estou aprendendo a programar no game maker studio 2 e não estou conseguindo solucionar um problema.
Estou criando um jogo de nave (para teste e aprendizado) em que naves inimigas aparecem aleatoriamente fora da room e que "todas" deveriam atirar na direção do (player).
No objeto obj_controle, no evento "step" possui o seguinte código:
if(random(100) > 99)){
instance_create_layer(1980, random_range(50, 1000), "Instances", obj_nave_inimiga_1);
}
esse código cria um numero aleatório de 0 a 100 a cada step e se o numero sorteado for maior que 99, cria uma nave inimiga em posições aleatórias fora da room em que todas se movimentam apenas em linha reta na (horizontal) da direita para esquerda.
No objeto "obj_nave_inimiga_1" no evento step possui o código:
if(instance_exists(obj_nave)){
instance_create_layer(x, y,"Instances", obj_tiro_inimigo)
}
aqui, se "obj_nave" (player) existe, cria um tiro.
No obj_tiro_inimigo, no evento create:
speed = 4;
direction = point_direction(obj_nave_inimiga_1.x, obj_nave_inimiga_1.y, obj_nave.x, obj_nave.y);
O problema é que apenas uma nave atira na direção do player, as outras atiram, mas seguem o mesmo padrão da nave que está atirando. Ou seja, os tiros seguem o mesmo padrão de uma nave que está atirando apenas. (não sei o entendimento ficou claro)
-------------------------------<-(enemy_2) (segue o padrão do enemy_1)
Exemplo: (player) -> -------------------------- <-(enemy_1) (Ponto de direção correto)
-----------------------------<-(enemy_3) (segue o padrão do enemy_1)
Gostaria que todas instâncias atirassem na direção do player. Não sei o que está havendo de errado.
Quem puder ajudar eu agradeço.
Muito obrigado pela atenção de todos.