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

gart30, WellingtonBecker, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 10:18
pessoal preciso que o inimigo crie um obj_bolhas e esse obj va em direção (esquerda,direita,cima ou baixo) se acordo com a posição do jogador:
Tipo:
Se o jogador estiver com a sua cordenada y (em relação ao inimigo) >obj_inimigo.y ou E o caso de x tb mas x é diferente quero assim se x do player for < o do inimigo o obj_bolhas vá para direita e o contrário se x>x do inimigo.

Mas ai o problema. e se y do player for menor que y do inimigo e x do player for menor que x do inimigo ? eu não quero q o obj_bolhas saia inclinado tem que ser so as 4 direções básicas. como faz para checar se o x do player = x do inimigo and y do player < que y do inimigo ? seria assim ?

Gratoo
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 10:54
Acredito que você queira a direção que mais se aproxima da direção ao player.
Então você vai fazer o seguinte: vai pegar a direção até o player, dividir por 90 e arredondar pro inteiro mais próximo. O resultado vai dar 0, 1, 2, 3 ou 4. Multiplique esse resultado arredondado por 90 e vai ter a direção que você quer (0, 90, 180, 270 ou 360).
Código:
direção_que_você_quer = 90 * round((point_direction(x, y, player.x, player.y)) / 90);
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 11:00
Como funciona o round e onde por este código ?
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 11:32
"round" é "arredondar". Temos 3 funções que fazem coisas parecidas:
floor(numero) - arredonda um número pra baixo, simplesmente eliminando qualquer parte decimal que ele tenha
ceil (numero) - arredonda um número pra cima, até o próximo inteiro
floor(número) - arredonda o número pro inteiro mais próximo.
Tem uma quarta função relacionada que faz exatamente o contrário:
frac(numero) - elimina a parte inteira do número, deixando apenas a parte decimal.

Como você quer multiplo de 90 mais próximo, você divide o ângulo que você tem por 90, arredonda e multiplica de novo por 90.

Coloque o código no evento que você estiver usando pra definir a direção da bolha. Isso economiza um monte de código do tipo "if-else".
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 11:36
Eu colokei no step mas tipo.
Oque é essa parte do codigo q vc postou ?
direção_que_você_quer

seria um variavel, e qual codigo usar para dizer que a direção para qual ele vai é essa variavel e a speed ?

EDITTT ---------------------------------

O Movimento eu ja fiz usei o drag n' drop aba move usei o move fixed Happy .
Mas agr como fazer com q o jogador esteja em uma boa posição para o inimigo atirar, se não o inimigo vai ficar so atirando e perdendo munição Happy .
avatar
Ranking : Nota C
Notas recebidas : B-D
Data de inscrição : 06/01/2012
Número de Mensagens : 343
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://equipeevolution.forumeiros.com/

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 12:04
Para o jogador atirar na direção em que está virado crie uma variável que irá identificar o lado em que ele está virado, coloque está variável no Create.

Por exemplo, você já criou a variável então coloque no Step:

Código:
if keyboard_check(vk_left)
{
global.lado=1
}

Isso é uma base agora faça o resto sozinho.

E para o inimigo atirar, você tem que criar um Alarm e definir o tempo desse Alarm e após o término do tempo ele atirar e reativar.

E para atirar apenas se estiver perto coloque no Step (exemplo):

Código:
if distance_to_object(jogador) > 300
{
ação
}
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 12:10
Eu já fiz tudo isso a algum tempo atras Happy .
Mas oque quero é que tipo ele ta perto do inimido mas tem uma pedra na frente dele, eu quero que ele não atire. só atire se der pra atirar, o obj_pedra é um tile na verdade e eu udo um obj_block pra fazer a colisão que para o jogador. e entaum ?

Gratoo
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 13:12
Não, não, se é pra atirar só na hora certa, a coisa muda toda de figura. Você tem que checar se tem o player na direção que você quer. Pra isso, use collision_line.
Tendo o player, verifique se o caminho está livre. Pra isso, use outro collision_line.
pseudocódigo:
Código:
em cada uma das 4 direções{
SE (tem jogador na reta){
direção_certa = essa direção;
SE (não tem pedra na reta){
atira na direção_certa
}}}
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 13:14
como checar se n tem algo sólido na frente. so quero saber isso.
qm atira é o inimigo então como saber se na frente dele tem algo solido? se tiver ele não atira se não tiver ele atira normal .

só quero saber isso
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 13:21
@saim escreveu:(...)verifique se o caminho está livre. Pra isso, use outro collision_line.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 13:26
Saim eu num sei usar collision line não *---* .
e tipo como usar ela para saber se esta na frente se estar em cima etc... ?

Me diz como usar T-T
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 14:41
O PedrØ tem um tutorial que ensina TODAS as funções de colisão. Como argumentos, você vai usar a posição (x, y) do inimigo e uma posição (x, y) na direção requerida.

Pra saber as coordenadas (x, y) da segunda posição, você vai precisar de trigonometria - mais precisamente, lengthdir_x e lengthdir_y. Tem um tutorial a respeito na minha assinatura.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

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

Re: Criar um tiro de acordo com a direção do inimigo

em Sex 23 Mar 2012, 14:43
ok ja estou começando os estudos ...
espero q eu aprenda Happy vlw saim ...
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