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. |
Posicionar arma no player e movimentar de forma correta
- marquinhossm
- Membro
- Reações: 0
- Mensagens: 70
-
Posicionar arma no player e movimentar de forma correta
Boa noite pessoal.
Eu fiz uma arma e posicionei ela no player numa boa, o projeto é um game topDown, entretanto, ao movimentar o mouse, pois o player olha na direção do mouse, a arma se movimenta da mesma forma, entretanto ela não fica exatamente onde eu gostaria, fiz um export para html5 para você poderem entender melhor o que estou falando, e se possível, facilitar a ajuda para o meu problema.
Abaixo segue o link do game.
http://inetdev.atspace.eu/index.html
Eu fiz uma arma e posicionei ela no player numa boa, o projeto é um game topDown, entretanto, ao movimentar o mouse, pois o player olha na direção do mouse, a arma se movimenta da mesma forma, entretanto ela não fica exatamente onde eu gostaria, fiz um export para html5 para você poderem entender melhor o que estou falando, e se possível, facilitar a ajuda para o meu problema.
Abaixo segue o link do game.
http://inetdev.atspace.eu/index.html
Re: Posicionar arma no player e movimentar de forma correta
No step da arma:
As funções lengthdir_x e lengthdir_y retornam, respectivamente, os componentes X e Y de um vetor definido por um módulo e uma direção.
Caso queira se aprofundar um pouco mais no assunto:
Docs - Yoyogames - lengthdir_x
Docs - Yoyogames - lengthdir_y
[Tutorial] lengthdir_x e lengthdir_y por Saim
OBS.: Pelo menos aqui, o link para o jogo não funcionou.
Código: Selecionar todos
var dist = 20; //Distância da origem da arma até a origem do player;
var img_angle = obj_player.image_angle; //Definimos a variável img_angle como o ângulo da sprite do player;
x = obj_player.x + lengthdir_x(dist,img_angle);
y = obj_player.y + lengthdir_y(dist,img_angle);
image_angle = img_angle; //Definimos o ângulo da sprite da arma como igual a do Player;
Caso queira se aprofundar um pouco mais no assunto:
Docs - Yoyogames - lengthdir_x
Docs - Yoyogames - lengthdir_y
[Tutorial] lengthdir_x e lengthdir_y por Saim
OBS.: Pelo menos aqui, o link para o jogo não funcionou.
- marquinhossm
- Membro
- Reações: 0
- Mensagens: 70
-
Re: Posicionar arma no player e movimentar de forma correta
Bom dia Led.
Muito boa a sua explicação, e também o Tutorial do link abaixo do seu tópico, entretanto eu fiquei um pouco perdido com relação as funções lengthdir_x e lengthdir_y mas vou estudar melhor para compreendê-la.
Funcionou perfeitamente o exemplo de código que você me passou, e a arma ficou bem no meio do Player, mas se eu quiser dar a impressão de que ele está segurando a arma na mão direita, ou seja, ao lado direito do Player, o que eu deveria modificar no código para que essa necessidade fosse atendida ??
Abraço!
Muito boa a sua explicação, e também o Tutorial do link abaixo do seu tópico, entretanto eu fiquei um pouco perdido com relação as funções lengthdir_x e lengthdir_y mas vou estudar melhor para compreendê-la.
Funcionou perfeitamente o exemplo de código que você me passou, e a arma ficou bem no meio do Player, mas se eu quiser dar a impressão de que ele está segurando a arma na mão direita, ou seja, ao lado direito do Player, o que eu deveria modificar no código para que essa necessidade fosse atendida ??
Abraço!
Re: Posicionar arma no player e movimentar de forma correta
Bom, no caso, vamos ter que fazer de uma forma um pouco diferente.
Pra começar, abra a sprite do player. Vamos pegar os valores de onde a arma ficará, relativos ao ponto de origem do player:
Imagem Tosca ilustrando o que eu quero dizer
Vamos mudar o nosso código para isso:
[/left]
Bom, é isso, espero ter ajudado. Não cheguei a testar o código, então é possível que surja algum imprevisto.
Até mais o/
Pra começar, abra a sprite do player. Vamos pegar os valores de onde a arma ficará, relativos ao ponto de origem do player:
Imagem Tosca ilustrando o que eu quero dizer
Vamos mudar o nosso código para isso:
Código: Selecionar todos
///Create
offX = 25;
offY = -60;
//Pegamos os valores de módulo e direção do vetor formado de 0,0 até as coordenadas da arma relativas ao centro do player;
offDist = point_distance(0,0,offX,offY);
offAngle = point_direction(0,0,offX,offY);
///Step
var img_angle = obj_player.image_angle + offAngle; //Definimos a variável img_angle como o ângulo da sprite do player mais o ângulo formado entre a origem do player e da arma;
x = obj_player.x + lengthdir_x(offDist,img_angle);
y = obj_player.y + lengthdir_y(offDist,img_angle);
image_angle = obj_player.image_angle; //Definimos o ângulo da sprite da arma como igual a do Player;
Bom, é isso, espero ter ajudado. Não cheguei a testar o código, então é possível que surja algum imprevisto.
Até mais o/
Re: Posicionar arma no player e movimentar de forma correta
eu diz esse código, porém não deu o resultado certo, quando o mouse fica em cima do plyer, simplesmente criam 2 armas, uma é só a ilusão e a outra é real, tem como resolver isso?
- junior.rod2
- Moderador
- Reações: 0
- Mensagens: 101
-
Re: Posicionar arma no player e movimentar de forma correta
Amigo, esse tópico já possui cerca de 2 anos e pelo que notei os autores das respostas não estão mais no fórum. Por favor crie um novo tópico na seção de duvidas explicando seu problema, de preferencia cola o código exato que você usou.
Para evitar ficar revivendo esse tópico onde talvez ninguém vá visualizar sua duvida aqui, vou trancar este tópico, mas por favor fique a vontade para postar sua duvida num tópico dedicado a ela ok?
Para evitar ficar revivendo esse tópico onde talvez ninguém vá visualizar sua duvida aqui, vou trancar este tópico, mas por favor fique a vontade para postar sua duvida num tópico dedicado a ela ok?
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante