[Reaberto]Tiro da torre

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

Resolvido [Reaberto]Tiro da torre

Mensagem por destroierdds em Qui 30 Jun 2011, 01:45

Ola pessoal!

Tenho a seguinte situação:

Alarm 0 do obj_torre
Código:

if(distance_to_object(obj_inimigo) <= alcance_torre)
{           
    //cria a bala
    v = instance_create(x, y, obj_bala);   
    v.impacto_tiro = 40;
    v.vel = 20;
}

Create do obj_bala
Código:

set variable vel to 0
set variable impacto_tiro to 0

    //localiza o inimigo mais proximo
    inimigoProximo = instance_nearest(x, y, obj_inimigo);

    //move a bala ate ele   
    move_towards_point(inimigoProximo.x, inimigoProximo.y, vel);

Nessa situação a bala é criada certinho em cima da torre, porém, sua velocidade é zero e ela fica parada.
Imagino eu que isso acontece porque eu estou tentando mover a bala no create dela, e no create da bala reparem que o valor de vel = 0.
Gostaria de saber se tem alguma maneira de setar os valores de velocidade da bala antes do create. computador


Última edição por destroierdds em Sex 01 Jul 2011, 00:21, editado 2 vez(es)

destroierdds

Número de Mensagens : 32
Idade : 33
Data de inscrição : 25/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por Eudes - Hyo em Qui 30 Jun 2011, 06:12

oi Destroier.
Mas pq vc quer criar o 'obj_Bala' com velocidade 0 ?
É, foi só por a velocidade Maior que 0 que a Bala sai certinho.

pra setar essa Velocidade antes, vc poderia usar uma variável Global como
'vel_Bala' por exemplo.
E por um valor nela ao iniciar o Game, e usa-la no lugar da var 'vel' da Bala na hora de mover para o Inimigo.

Ou vc pode setar a 'vel' da Bala no Create, e no próprio Create chamar um
Alarm[0] .
E no Alarm[0] da Bala colocar esse código para ir até o Inimigo.
Depende do porquê tu ker deixar essa vel em 0.

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
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: [Reaberto]Tiro da torre

Mensagem por fredcobain em Qui 30 Jun 2011, 09:24

Faz assim:

Alarm 0 do obj_torre
Código:

if(distance_to_object(obj_inimigo) <= alcance_torre)
{           
    //cria a bala
    v = instance_create(x, y, obj_bala);   

}


Create do obj_bala
Código:

vel=20
impacto_tiro=40

//localiza o inimigo mais proximo
inimigoProximo = instance_nearest(x, y, obj_inimigo);

//move a bala ate ele   
move_towards_point(inimigoProximo.x, inimigoProximo.y, vel);

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
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: [Reaberto]Tiro da torre

Mensagem por saim em Qui 30 Jun 2011, 09:42

Eu esperaria que o código digitado no objeto que cria a bala ficasse "por cima" do código do create dela, deixando vel e impact_tiro diferentes de 0.
Mostre os códigos de movimento dela. Enquanto isso, rode um debug pra confirmar esses valores.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por destroierdds em Qui 30 Jun 2011, 16:49

fredcobain

Não criei do geito que vc disse ,pq assim seria muito facil e eu nao quero que a bala defina sua velocidade.
quero que quem atire ela defina que velo ela vai ter.

Da maneira que eu estou criando o codigo ,qualquer torre atira com uma mesma bala ,ou seja só preciso ter um obj_bala que recebe as propriedades da torre.

Porque tem tores que tem uma velocidade de tiro maio e uma força de impacto maior. E quando a bala é criada ela sai com as especificacoes que a torre mandar.

Eudes - Hyo
Foi por esse motivo que deixei em zero a vel da bala, pq eu quero alterar essa vel quando a bala é criada.

destroierdds

Número de Mensagens : 32
Idade : 33
Data de inscrição : 25/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por saim em Qui 30 Jun 2011, 17:03

Você rodou o debug? Fiz um teste aqui e, realmente, não importa ter ou não ter essas variáveis definidas no create da bala.
O problema deve estar na movimentação mesmo. Pra encontrar, preciso ver o step da bala.

Edit: Ah, entendi!
Passe o move_towards_point pro step.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por destroierdds em Qui 30 Jun 2011, 17:43

Ai Saim

Funciono mantive a inicialização das variaves locais no create e passei o move_towards para o step da bala e fico blz

Obrigado a todos pela ajuda!

destroierdds

Número de Mensagens : 32
Idade : 33
Data de inscrição : 25/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por Eudes - Hyo em Qui 30 Jun 2011, 19:00

tu colocou no STEP? o0
mas se o Inimigo se mover, a Bala não irá segui-lo?

bom se funcionou, blz

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
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: [Reaberto]Tiro da torre

Mensagem por destroierdds em Qui 30 Jun 2011, 22:28

Eudes - Hyo escreveu:tu colocou no STEP? o0
mas se o Inimigo se mover, a Bala não irá segui-lo?

bom se funcionou, blz

É verdade agora o problema é que a bala segue o inimigo.

Continuo com o problema.

Como setar as variaveis da bala antes do create e sem adicionar evento de step na bala.

__
Concegui fazer com que a bala não siga o inimigo.

No obj_bala ao inves de usar step eu coloquei um Alarm com
number of steps = 1;

pq assim ja é tempo suficiente para as variaveis da bala serem alteradas
conforme manda a torre.

destroierdds

Número de Mensagens : 32
Idade : 33
Data de inscrição : 25/06/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por rafasgb em Sex 01 Jul 2011, 00:16

Tópico reaberto a pedido do usuário.

rafasgb

Ranking : Nota A
Número de Mensagens : 581
Idade : 21
Data de inscrição : 19/05/2008
Notas recebidas : A
Reputação : -32
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por saim em Sex 01 Jul 2011, 00:32

hah. Não, a coisa é bem mais simples. O problema é que eu NUNCA uso move_towards, então acabo me esquecendo dessas armadilhas.
O que você precisa é definir uma DIREÇÃO no create event e se mover nessa direção. Esqueça que existe move_towards.

Dá até pra usar direction e speed, se você gostar de built-ins. Caso contrário, defina a direção e abuse do lengthdir, no step.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Resolvido Re: [Reaberto]Tiro da torre

Mensagem por Conteúdo patrocinado Hoje à(s) 06:34


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