Conectar-se

Esqueci minha senha

Últimos assuntos
» colisão de queda após outra colisão dando problema
Ontem à(s) 18:08 por Lighter

» [Duvida] O que aprender
Ontem à(s) 15:32 por Markituh

» BUILD FAILED: Cannot find BUILD.xml
Ontem à(s) 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

» GMS sempre salva projeto ao compilar?
Sex 21 Ago 2015, 12:32 por Pai véi

Quem está conectado
25 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 25 Visitantes

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

Atirar na direção certa

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

Atirar na direção certa

Mensagem por Mestre Rá em Qua 19 Ago 2015, 16:03

É o seguinte quando o inimigo na direção do personagem, quero que a imagem do projétil seja aquela direção. Ex.:
Se meu personagem está a esquerda e meu inimigo a direita, projétil que o inimigo disparar terá a imigem dela indo da direita para a esquerda e vise-e-versa.
Se já tiveram perguntado isso peço desculpa.
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mateus O de Andrade em Qua 19 Ago 2015, 16:11

Boa tarde coleguinha.
primeiramente você deveria especificar que tipo de jogo é esse top view, 2d side, isométrico, etc.
mas eu presumo que seja 2d já que sitou apenas direita e esquerda.

Bom, primeiramente deve verificar em que lado o inimigo está. Se o x do player for menor que o do inimigo ele está a esquerda e se for maior ele estará na direita.
dai basta fazer image_xscale*=-1

Acho que é isso mas NÃO CONFIE EM MIM usahUAHSuASUhaS Eu não lembro de basicamente nada uashuashuasu espere mais alguém cara.
Um abração cara e boa sorte.
avatar
Mateus O de Andrade

Ranking : Nota D
Data de inscrição : 25/03/2014
Número de Mensagens : 399
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mestre Rá em Qua 19 Ago 2015, 16:14

O cara, foi mal, pensei que tinha colocado, é um jogo de plataforma.
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por chicoweb em Qua 19 Ago 2015, 17:14

Tem um jeito fácil:

Vamos supor que o objeto do tiro seja obj_tiro e do player obj_player.

No step do obj_tiro ele vai SEGUIR o player onde ele for:

Código:
direction = point_direction(x,y,obj_player.x,obj_player.y)
image_angle = direction

Colocando o codigo acima no CREATE do obj_tiro ele vai na direção de onde o player estava quando o tiro foi dado e não vai seguir o player.

OBS: Voce terá que usar o speed, vspeed ou hspeed para movimentar o tiro para que o codigo de certo
avatar
chicoweb

Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mestre Rá em Qua 19 Ago 2015, 17:36

Não deu certo não cara.
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Adriel em Qua 19 Ago 2015, 20:26

Código:
if obj_player.image_xscale=-1 //se o player estiver virado pra esquerda
{
hspeed=-6 //poe aqui a velocidade do tiro que você quer
}
if obj_player.image_xscale=1 //se o player estiver pra direita
{
hspeed=6
}

Põe isso no Create do tiro. Vê se funciona aí Happy
avatar
Adriel

Data de inscrição : 18/07/2009
Número de Mensagens : 922
Insígnias de JAM :

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

Prêmios
   :
   :
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mestre Rá em Qui 20 Ago 2015, 07:48

O problema ocorreu de o inimigo atirar 1 vez somente, vou postar o que eu coloquei para ele atirar.

Spoiler:
if distance_to_object(obj_player)<200 and pode_atirar=true
{
instance_create(x,y,obj_projetil)
pode_atirar=false
alarm[0]=20
}
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por chicoweb em Qui 20 Ago 2015, 09:21

Tira o "and pode_atirar=true"
avatar
chicoweb

Ranking : Nota C
Notas recebidas : B+C
Data de inscrição : 15/05/2012
Número de Mensagens : 666
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por xLuiZz em Qui 20 Ago 2015, 11:39

Cara,no Create do obj_inimigo coloca:
Create:

Código:
tempo = 0

ainda no obj_inimigo,coloca no step:
Step:

Código:
if (tempo>0) tempo -=1;

if(obj_player.x > x and tempo==0)
{
  instance_create(x-10,y-10,obj_tiro)
  tempo = 45;
}

if(obj_player.x < x and tempo==0)
{
  instance_create(x,y,obj_tiro)
  tempo = 30;
}

if(tempo > 30)
{
    tempo = 30
}


pronto

agora no obj_tiro,voce coloca no create:
Create:

Código:
if (obj_player.x > x) {hspeed = 17;} else {hspeed = -17;}

ISSAE Laughing Cool What a Face cyclops sorrindo2 sorrindo yes
avatar
xLuiZz

Data de inscrição : 25/04/2015
Número de Mensagens : 19
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mestre Rá em Seg 24 Ago 2015, 08:18

Me desculpe pela demora, certo xLuiZz, só faltou colocar xscale no objeto tiro, assim a sprite dele irá mudar na direção certa e a distância em que o monstro pode atirar no player. Já coloquei os dois muito obrigado. Poderia me explicar o que ocorre no step do objeto inimigo?
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por theguitarmester em Seg 24 Ago 2015, 08:34

Código:
if (tempo>0) tempo -=1;
//Tempo maior que 0, diminuirá o tempo até chegar a -1
//como um alarm

if(obj_player.x > x and tempo==0)
{
  instance_create(x-10,y-10,obj_tiro) //Cria o tiro
  tempo = 45; //Seta o tempo como 45 step("1 segundo e meio")
}

if(obj_player.x < x and tempo==0)
{
  instance_create(x,y,obj_tiro) //Cria outro tiro
  tempo = 30; // *Os tempos poderiam ser iguais
}

if(tempo > 30) //define que se o tempo é maior que 30, será 30
{
    tempo = 30
}

Este evento define que quando o tempo for 0, o inimigo atire e o tempo tempo seja redefinido(para não atirar a cada step/quadro).
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Mestre Rá em Seg 24 Ago 2015, 08:43

Veleu cara, minha duvida era esse 45 e 30 no tempo, muito obrigado pela ajuda.
avatar
Mestre Rá

Data de inscrição : 26/11/2011
Número de Mensagens : 106
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por theguitarmester em Seg 24 Ago 2015, 09:03

De nada, sinceramente eu não entendi porque ele colocou tempo diferentes, mas no fim, iria dar no mesmo, visto que no fim do código havia a limitador para o tempo máximo ser 30.
avatar
theguitarmester

Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1

Ver perfil do usuário http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Atirar na direção certa

Mensagem por Conteúdo patrocinado


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