Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» 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
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
Invalidar "distance_to_object"
3 participantes
Página 1 de 1
Invalidar "distance_to_object"
Olá pessoal, minha dúvida é provavelmente simples de se resolver. Em relação a jogos top-down, gostaria de saber como invalido o código "distance_to_object" quando há algo na frente como uma parede. Tipo, qual o código para a seguinte expressão:
Se não há objetos sólidos na frente
{
"código"
}
Não sei se me entendem, mas quem puder me ajudar agradeço muito!
Se não há objetos sólidos na frente
{
"código"
}
Não sei se me entendem, mas quem puder me ajudar agradeço muito!
Última edição por RafaleCP em Ter 16 Jul 2013, 17:09, editado 1 vez(es) (Motivo da edição : A dúvida foi resolvida)
RafaleCP- Data de inscrição : 16/02/2013
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Estude collision_line, aí é só usar com paredes ou parent de objetos que impossibilitam a visão.
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Ok, obrigado pela dica amigo!
RafaleCP- Data de inscrição : 16/02/2013
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Colission_LINE????
Gonçalves não acredito que você não respondeu essa pergunta direito!!!
O kara quase coloca o código e você nem ai pra perceber!!!
place_free(x,y) retorna verdadeiro ou falso se não existir um objeto sólido na posição x,y. Ele coloca o objeto atual na posição x,y para determinar se esta livre, por isso esteja certo de ter uma sprite ou mask.
Como você quer saber se TEM solido, você deve negar a expressão com !
Gonçalves não acredito que você não respondeu essa pergunta direito!!!
O kara quase coloca o código e você nem ai pra perceber!!!
place_free(x,y) retorna verdadeiro ou falso se não existir um objeto sólido na posição x,y. Ele coloca o objeto atual na posição x,y para determinar se esta livre, por isso esteja certo de ter uma sprite ou mask.
Como você quer saber se TEM solido, você deve negar a expressão com !
- Código:
//lengthdir_x(speed,direction) determina a próxima posição de x dependendo da velocidade e direção.E o mesmo pra y
if !place_free(x+lengthdir_x(speed,direction),y+lengthdir_y(speed,direction))
{
//"código"
}
Rodrigo Santiago- Games Ranking :
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios :
x 0 x 0 x 0
x 3 x 1 x 3
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Cara, o que ele quer é fazer a percepção do objeto e impedir que veja por atrás de paredes, e não colisão, creio eu. Pelo menos foi isso que entendi. '-'
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
É, como o Gonçalves disse...
O meu código de percepção:
O meu código de ataque:
O que quero é invalidar o true da variável "eliminar_player" se algum objeto estiver na frente.
O meu código de percepção:
- Código:
If(distance_to_object(obj_inimigo) < 400)
{
eliminar_player = true
}
else
{
eliminar_player = false
}
O meu código de ataque:
- Código:
If(eliminar_player ==true)
{
move_towards_point(obj_soldado.x,obj_soldado.y,5)
}
O que quero é invalidar o true da variável "eliminar_player" se algum objeto estiver na frente.
RafaleCP- Data de inscrição : 16/02/2013
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Rafale, você sabe usar parents? Ou apenas um objeto impedirá a visão?
Se não souber usar parents, dê uma pesquisada, ele serve com referência para vários objetos diferentes, assim você se referir a vários objetos indicando apenas um.
Por exemplo: Crie um objeto chamado par_parede, e nas opções de todos os objetos que impedirão a visão, defina como parent (abaixo de mask, do lado esquerdo) o par_parede. Aí seu código ficará assim:
Se não souber usar parents, dê uma pesquisada, ele serve com referência para vários objetos diferentes, assim você se referir a vários objetos indicando apenas um.
Por exemplo: Crie um objeto chamado par_parede, e nas opções de todos os objetos que impedirão a visão, defina como parent (abaixo de mask, do lado esquerdo) o par_parede. Aí seu código ficará assim:
- Código:
If(distance_to_object(obj_inimigo) < 400) and not collision_line(x,y,obj_jogador.x,obj_jogador.y,par_parent,0,0)
{
eliminar_player = true
}
else
{
eliminar_player = false
}
Gonçalves- Games Ranking :
Notas recebidas : B + A + C
Data de inscrição : 29/10/2010
Reputação : 79
Número de Mensagens : 1013
Prêmios :
x 0 x 4 x 0
x 2 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Na realidade não sei como usar parent, mas vou dar uma olhadinha sobre. Obrigado pela ajuda, vou dar uma testada no código e também vou "brincar" um pouco com a opção parent (para entender melhor) e depois volto aqui no post
RafaleCP- Data de inscrição : 16/02/2013
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Invalidar "distance_to_object"
Deu certo! Cara, muito obrigado mesmo, sem isso, não daria nem pra começar a IA dos meus personagens (eles iam ficar cegos, surdos e burros)! Valeu mesmo!
RafaleCP- Data de inscrição : 16/02/2013
Reputação : 0
Número de Mensagens : 42
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|