Entrar
Últimos assuntos
» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentropor Rukasu777 Ontem à(s) 18:10
» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43
» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
Criar um tiro de acordo com a direção do inimigo
3 participantes
Página 1 de 1
Criar um tiro de acordo com a direção do inimigo
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
Tipo:
Se o jogador estiver com a sua cordenada y (em relação ao inimigo) >obj_inimigo.y ou
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
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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).
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);
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
Como funciona o round e onde por este código ?
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
"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".
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".
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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 .
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 .
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 .
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 .
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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:
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):
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
}
Re: Criar um tiro de acordo com a direção do inimigo
Eu já fiz tudo isso a algum tempo atras .
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
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
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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.
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
}}}
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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
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
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
saim escreveu:(...)verifique se o caminho está livre. Pra isso, use outro collision_line.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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
e tipo como usar ela para saber se esta na frente se estar em cima etc... ?
Me diz como usar T-T
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
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.
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.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Criar um tiro de acordo com a direção do inimigo
ok ja estou começando os estudos ...
espero q eu aprenda vlw saim ...
espero q eu aprenda vlw saim ...
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido]Tiro sair do inimigo na direção do player.
» Direção do obj de acordo com o obj que a criou
» [Duvida] Mudar Sprite de acordo com direção alvo
» [Resolvido]Nave se movimentar de acordo com a direção da sprite
» COMO FAZER O PERSO. PULAR DE ACORDO DA DIREÇÃO Q ELE ESTA??
» Direção do obj de acordo com o obj que a criou
» [Duvida] Mudar Sprite de acordo com direção alvo
» [Resolvido]Nave se movimentar de acordo com a direção da sprite
» COMO FAZER O PERSO. PULAR DE ACORDO DA DIREÇÃO Q ELE ESTA??
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|