Atirar o player na direção onde esta o mouse
3 participantes
Página 1 de 1
Atirar o player na direção onde esta o mouse
Gente alguém pode me ajudar nessa duvida? olhei uns tutoriais relacionados a carregar força aqui do marcos mesmo mas nenhum consegui gambiarrar aqui ^^
fiz o player já que é no caso uma bola, movimento ta ok, o pulo ta ok, só que eu gostaria que na hora que eu pulasse e estivesse no ar, ou no chão mesmo
e segurasse o botão do mouse ele tipo carregasse a força de impulso e fosse o próprio player atirado aonde esta o ponteiro do mouse =/
fiz o player já que é no caso uma bola, movimento ta ok, o pulo ta ok, só que eu gostaria que na hora que eu pulasse e estivesse no ar, ou no chão mesmo
e segurasse o botão do mouse ele tipo carregasse a força de impulso e fosse o próprio player atirado aonde esta o ponteiro do mouse =/
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Atirar o player na direção onde esta o mouse
Se você pegar a posição do player menos a posição do mouse em relação ao mundo você vai ter a direção que você tem que aplicar!
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Atirar o player na direção onde esta o mouse
ah sim isso que eu estava na duvida no caso e menos a posição do mouse...
mas em questão de carregar a força do pulo, eu teria que criar uma variavel pra guardar o tempo de um contador e depois adicionar na força do pulo? no caso ForceMode.impulse que esta.
mas em questão de carregar a força do pulo, eu teria que criar uma variavel pra guardar o tempo de um contador e depois adicionar na força do pulo? no caso ForceMode.impulse que esta.
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Re: Atirar o player na direção onde esta o mouse
Opa marcos blz?
consegui resolver aqui, acabou que o problema estava em um lugar que eu nem percebi que estava errado
mas ainda estando bem confuso e meio desorganizado vou postar aqui caso sirva pra alguém =)
tentei um bocado de formas sempre que da errado apago e re-faço
vou buscar uma forma agora de dar uma "espremida" na bola enquanto o botão estiver pressionado, mas até ai acho que é só dar um transform no scale ou localscale ^^
de qualquer forma muito obrigado a todos que sempre ajudam aqui !!!
consegui resolver aqui, acabou que o problema estava em um lugar que eu nem percebi que estava errado
mas ainda estando bem confuso e meio desorganizado vou postar aqui caso sirva pra alguém =)
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerMovement : MonoBehaviour {
public Rigidbody rb;
public bool mousePressed;
public float velocidadeDeAcumulo;
public float forcaMaxAcumulada = 50;
public float jumpForce;
void Start () {
mousePressed = false;
}
void Update ()
{
Vector3 mousePos = Input.mousePosition;
Vector3 objectPos = Camera.main.WorldToScreenPoint (rb.transform.position);
mousePos.x = mousePos.x - objectPos.x;
mousePos.y = mousePos.y - objectPos.y;
float angle = Mathf.Atan2(mousePos.y, mousePos.x) * Mathf.Rad2Deg;
if (Input.GetMouseButton (0))
{
mousePressed = true;
rb.velocity = new Vector3 (0, 0, 0);
rb.transform.rotation = Quaternion.Euler(new Vector3(0, 0, angle));
if (jumpForce < forcaMaxAcumulada)
{
jumpForce += velocidadeDeAcumulo * Time.fixedDeltaTime;
}
}
if (Input.GetMouseButtonUp (0))
{
mousePressed = false;
rb.velocity = new Vector3 (0, 1, 0);
rb.AddForce (mousePos.x * jumpForce, mousePos.y * jumpForce, 0, ForceMode.Impulse); //aqui eu não estava colocando a posição do mouse
if (mousePressed == false)
{
jumpForce = 0;
}
}
}
}
tentei um bocado de formas sempre que da errado apago e re-faço
vou buscar uma forma agora de dar uma "espremida" na bola enquanto o botão estiver pressionado, mas até ai acho que é só dar um transform no scale ou localscale ^^
de qualquer forma muito obrigado a todos que sempre ajudam aqui !!!
speedluk- Avançado
- PONTOS : 2676
REPUTAÇÃO : 29
Idade : 32
Respeito as regras :
Tópicos semelhantes
» Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
» Mirar e atirar na posiçao do mouse?
» Direção da câmera ser para onde o player vai ao apertar a tecla de ir para frente!!
» Como fazer para o tiro ir para a direção onde o cano está apontado e não para cima
» Como fazer o inimigo atirar projétil na direção do jogador? por favor
» Mirar e atirar na posiçao do mouse?
» Direção da câmera ser para onde o player vai ao apertar a tecla de ir para frente!!
» Como fazer para o tiro ir para a direção onde o cano está apontado e não para cima
» Como fazer o inimigo atirar projétil na direção do jogador? por favor
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos