GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


AJUDA: Seguir objeto sem parar

2 participantes

Ir para baixo

AJUDA: Seguir objeto sem parar Empty AJUDA: Seguir objeto sem parar

Mensagem por pedr0bandeira Sáb 26 Jun 2010, 15:43

Salve galera, o negócio é o seguinte: estou fazendo um jogo de futebol (bem tosco, é meu primeiro jogo) e queria que meu adversário ( sim , é 1vs1) seguisse a bola sem parar. Já fiz o modo multiplayer, que é human vs human e é só a bola encostar no gol e eles voltam à posiçao inicial. Até ai tudo bem, mas no singleplayer eu coloquei um script que vi aqui no site mesmo e o adversário segue a bola e quando encosta nela, ele para. Queria que ele continuasse batendo nela até alguem acertar o gol. Valeu! Cool
pedr0bandeira
pedr0bandeira

Data de inscrição : 26/06/2010
Reputação : 0
Número de Mensagens : 58
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por Denis Lemos Sáb 26 Jun 2010, 16:06

Coloque no STEP do adiverssário:
Código:

move_towards_point(obj_bola.x,obj_bola.y,5)
Assim faz ele ir sempre onde está a bola com uma velocidade de 5 pixeis por STEP, mas claro que quando ele chegar na bola ele vai parar né, pois ela estará ali paradinha !
Então tem que fazer ela se mover quando encostar com o adiverssário !

Adicione no objeto adiverssário uma colisão com a bola, e coloque o seguinte código:
Código:

with(other) // O other é a bola !
{
    direction=point_direction(obj_adiverssario.x,obj_adiverssario.y,obj_gol.x,obj_gol.y)
    speed=10
}
Isso fará com que a direção da bola será, tipo o sentido de uma reta do objeto adiverssario apontada para o obj_gol
e ela se moverá naquela direção com uma velocidade de 10 pixeis por step !
Mas assim a bola irá em uma velocidade constante de 10px por step e não vai parar nunca, então coloque no STEP do objeto bola isto:
Código:
friction=0.2
Isso é a fricção da bola, fará ela ir parando aos poucos em vez de se mover em velocidade constante !

Agora mude o nome dos objetos para os seus objetos, e regule os valores da velocidade de acordo com o que fique melhor com o seu game !

Obs: Fiz de cabeça, se aparecer algum erro, reporte o erro para que seja corrigido !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por pedr0bandeira Sáb 26 Jun 2010, 16:22

Valeu cara, só que eu nao consigo fazer gol no meu próprio jogo! eauaeheauh. Deu certo mas ainda tem um problema, quando a bola ta no campo dele, ele nao se meche, fica meio que "protegendo" a bola. Ele até segue a bola, mas para na frente dela e tranca ela com a parede (pq nao tem lateral, pega na parede e volta). Very Happy e só ele faz gol agora ): nao consigo pegar a bola.

AH, entendi o que ele faz. Ele só toca a bola quando ele está de frente para o gol. :/
pedr0bandeira
pedr0bandeira

Data de inscrição : 26/06/2010
Reputação : 0
Número de Mensagens : 58
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por Denis Lemos Sáb 26 Jun 2010, 17:14

Para a bola não trancar na parede, você pode adicionar no objeto bola um evento de colisão com os objetos laterias, e na aba "move" arrastar o ícone "BONCE" e dar OK !
Ele fará a bola rebater na parede como se fosse uma bolinha de sinuca, talvez ajude a evitar o outro jogador trancá-la entre parede e ele !

Bom, sobre ele ficar parado quando a bola está no campo dele, eu não tinha pensado nisso antes, mas aconteceu um baita erro de lógica, pois bem vamos ver o que deve estar acontecendo:

O código faz o seguinte, quando o outro jogador encosta na bola ele caucula a direção da bola para onde a bola tem que ir, de acordo com as suas coordenadas em linha com o gol, então quando ele bate na bola no seu campo ele fica paradão entre a bola e o gol trancando o caminho, e a bola tenta ir para a direção do gol, mas como o bocó está persseguindo a bola, os dois ficam se precionando um contra o outro, causando o empacamento !

Tente ajustar o código de colisão do adiverssário com a bola, talvez corrija:
Código:

if not collision_line(obj_bola.x,obj_bola.y,obj_gol.x,obj_gol.y,self,true,true) // Se o bocó não estiver parado na frente
{
    with(other) // O other é a bola !
    {
        direction=point_direction(obj_adiverssario.x,obj_adiverssario.y,obj_gol.x,obj_gol.y)
        speed=10
    }
}
else // Igual hà "senão" ou seja, se estiver na frente da bola !
{
    with(other) // Other é a bola !
    {
        direction=obj_adiverssario.direction+90 // Regule o 90 ao seu gosto, quanto maior, mais rápido será a volta !
        speed=10
    }
}

Agora ele só vai chutar a bola se não estiver na frente da bola para o gol, ou seja se ele estiver encostando em uma linha imaginária desenhada da bola até o gol, "senão", se ele estiver na frente, ele vai chutar a bola para o lado até dar a voltinha, não sei se essa voltinha vai funcionar, mas creio que sim !

Obs: Onde está escrito "self" se der erro, mude para o nome do objeto adiverssário, é que estou fazendo de cabeça, e não lembro bem os argumentos e o nome das funções !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por pedr0bandeira Sáb 26 Jun 2010, 17:36

Ae cara, deu uma boa melhorada, agora ele ja tem mais "angulo" pra chutar, mas a voltinha deu fail haeiaeh e ele fica na frente da bola ainda. Man, tem algum site que explica a linguagem certinho do GM? Pq eu faço curso de web design e já tenho uma noçao de algoritimos e lógica. Valeu pelas dicas, vou continuar tentando aqui, só falta eu entender a linguagem =D.


e tipo, o negocio do bounce eu já tinha feito, só que de tanto prenssar a bola com a barreira, a bola buga e sai do mapa. dai eu fiz um esqueminha pra reiniciar o jogo afro
pedr0bandeira
pedr0bandeira

Data de inscrição : 26/06/2010
Reputação : 0
Número de Mensagens : 58
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por Denis Lemos Sáb 26 Jun 2010, 18:23

O melhor site para aprender a linguagem, é aqui no fórum mesmo, tem muitos tutorias, sempre tem alguém que sabe te responder !
Mas também, no próprio GM tem o help, onde se encontra todos os comandos da linguem do programa, é só apertar no ícone com sinal de interrogação dentro de uma bolinha azul, no cabeçário do programa, que abrira o help, procure pela seção GML, que ensina tudo sobre os códigos, só que está em ingles, mas nada que o google tradutor não resolva !

Mas lendo na seção de tutorias daqui do fórum, se aprende bem ligeiro os comandos mais usados e com o tempo se aprende todos eles !

Bom a voltinha era para funcionar, tente diminuir lá onde está o 90, coloque 45 ou menos, ou talvez outra função que você já tinha feito esteja em conflito, só fuçando mesmo você descobre o problema !

Qualquer dúvida é só perguntar aí que quem souber, certamente te ajudará, a galera daqui é tudo gente boa !
Denis Lemos
Denis Lemos

Data de inscrição : 17/05/2009
Reputação : 1
Número de Mensagens : 938
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Unity
  • C#
  • Godot
  • C ou C++


Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por pedr0bandeira Sáb 26 Jun 2010, 18:25

Já deu de perceber, tu mesmo ja me ajudou mto, vlw cara
pedr0bandeira
pedr0bandeira

Data de inscrição : 26/06/2010
Reputação : 0
Número de Mensagens : 58
Prêmios : AJUDA: Seguir objeto sem parar Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

AJUDA: Seguir objeto sem parar Empty Re: AJUDA: Seguir objeto sem parar

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos