POSSIBILIDADE DE DIMINUIR O CODE.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido POSSIBILIDADE DE DIMINUIR O CODE.

Mensagem por Da Galáxia em Ter 04 Maio 2010, 23:42

o codigo (abaixo a pergunta)

//CRIA E ATIRA O MISSEL
//o missel segue automaticamente o inimigo, sempre o que estiver mais proximo.
//portanto algumas variaveis para equivalencia...
//...instance - equivale a isntance mais proxima do inimigo (instance = exemplo)
//objeto - essa variavel é para que a instance mais proxima seja de...
//...qualquer objeto e não apenas de um especifico

if instance_exists(obj_player)
{
if keyboard_check_released(ord("Z"))
if(tiro_especial = true) then
{
if instance_exists(obj_inimigo1) or instance_exists(obj_inimigo2)
{
var instance1, instance2, missil, objeto; //variaveis temporarias
objeto := 0;
instance1 := instance_nearest(x,y,obj_inimigo1);//vai na direçao da instance mais proxima
instance2 := instance_nearest(x,y,obj_inimigo2);
missil := instance_create(x,y,obj_arma_missil);
if instance1 < 0 objeto := instance2;
if instance2 < 0 objeto := instance1;
if objeto = 0 if distance_to_point(instance1.x,instance1.y) <
distance_to_point(instance2.x,instance2.y) then objeto := instance1 else objeto := instance2;

with (missil) {move_towards_point(objeto.x,objeto.y,15)//missil segue inimigo
image_angle = point_direction(x, y,objeto.x,objeto.y)}//missil vai no angulo do inimigo
}
}
}
Com esse codigo o missel é criado e vai na instance mais proxima seja qual for o inimigo se é o nimigo1 ou o inimigo2. Ta funcionando como eu queria, a pergunta...
Se eu criar 20 tipos de objetos (inimigo3, inimigo4...), o code vai ficar gigantesco, alguem sabe alguma maneira de eu criar por exemplo até 20 objetos, com um code que não fique imenso? Daria aqui para usar o comando FOR ou alguma outra maneira que eu nao teria que repetir esses codes até o objeto 20?. OBRIGADO!

Editado por CyraxX: Topico resolvido.
Trancado.
Se o autor quiser reabrir o tópico envie MP para algum administrador ou moderador.

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: POSSIBILIDADE DE DIMINUIR O CODE.

Mensagem por Klior em Qua 05 Maio 2010, 07:27

Crie um objeto "objPai" por exemplo
não coloque nada nesse objeto

depois nos objetos dos inimigos coloque em "Parent" com "objPai"

então toda vez que você se referir ao "objPai" você estará se referindo a todos inimigos..
ou seja em vez de usar
instance_nearest (x, y, obj_inimigo1)
instance_nearest (x, y, obj_inimigo2)
instance_nearest (x, y, obj_inimigo3)

basta usar
instance_nearest (x, y, objPai) e você estará incluindo todos os inimigos que estão com a opção "Parent" marcadas como "objPai"

Klior

Número de Mensagens : 426
Idade : 25
Data de inscrição : 07/03/2010
Reputação : 13
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: POSSIBILIDADE DE DIMINUIR O CODE.

Mensagem por Da Galáxia em Qua 05 Maio 2010, 19:03

VALEU meu camarada, deu certo.

Da Galáxia

Número de Mensagens : 348
Data de inscrição : 14/01/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: POSSIBILIDADE DE DIMINUIR O CODE.

Mensagem por Conteúdo patrocinado Hoje à(s) 22:18


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum