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
}
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
Re: Fazer o Player se ligar a outro objeto. Tópico resolvido
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:
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.
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);
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.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes