Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Fazer o Player se ligar a outro objeto. Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
TRONRUSH
Novato
Novato
Reações: 0
Mensagens: 1

Fazer o Player se ligar a outro objeto.

Mensagem por TRONRUSH » Seg Out 10, 2022 3:45 pm

Fiz um sistema de gancho para o player conseguir balançar nesse gancho quando apertar uma tecla especifica, mas ele se liga somente a um objeto e não a outros objetos do mesmo.


if (distance_to_object(oHook) <= 500) && (key_hook){
grappleX = oHook.x
grappleY = oHook.y
ropeX = x
ropeY = y
ropeAngleVelocity = 0
ropeAngle = point_direction(grappleX, grappleY, x, y)
ropeLength = point_distance(grappleX, grappleY, x, y)
state = pState.swing
}

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 620
Localização: Dourados-MS

Contato:

Re: Fazer o Player se ligar a outro objeto.  Tópico resolvido

Mensagem por All-x » Seg Out 10, 2022 5:13 pm

Você está usando o identificador do objeto oHook. Assim ele sempre vai pegar a primeira instância desse objeto na room (Quando é o player, não tem problema pois existe só um).

Logo tu tem que pegar a instância de oHook mais próxima. Então acima (antes) do teu código tu pode colocar:

Código: Selecionar todos

// Guarda a instância de 'oHook' mais próxima de x,y
var near_hook = instance_nearest(x, y, oHook);
E no teu código substituir todos os oHook por near_hook.

Lembre-se nem toda função que tem um objeto com parâmetro vai executá-la para todas as instâncias desse objeto. Do mesmo modo quando usa objeto.x, se houver mais instâncias dele dentro na room, ele vai pegar o primeiro que foi criado. Sempre leia o manual.
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes