Переместите мяч влево и вправо с помощью мыши мыши Unity 3D - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть шар, который непрерывно подпрыгивает, и я хочу переместить его влево и вправо по оси X с помощью мыши, чтобы он следовал за движением мыши по X.

Я сделал сценарий ниже,но мяч не двигался с мышью!

Сценарий мяча:

private Vector3 pos;
public Camera cam;

public Rigidbody Ball;
public float Speed;
public static float GlobalGravity = -9.8f;
public float GravityScale = 1.0f;
bool isforce = false;

private void Start(){

    Ball = GetComponent<Rigidbody>();
    Ball.useGravity = false;

}


private void FixedUpdate(){

    Vector3 gravity = GlobalGravity * GravityScale * Vector3.up;
    Ball.AddForce(gravity, ForceMode.Acceleration);

}

void force (){

    isforce = false;
    Ball.AddForce(Vector3.up * Speed, ForceMode.Impulse);
}

private void Update(){

    if (isforce == true){

        force();
    }

    if (Input.GetMouseButton(1)){

        Vector3 mousePos = Input.mousePosition;
        Vector3 wantedPos = Camera.main.ScreenToWorldPoint(new Vector3(mousePos.x, transform.position.y, 10));
        transform.position = wantedPos;
    }
}

private void OnCollisionEnter(Collision collision){

    isforce = true;
}

1 Ответ

0 голосов
/ 23 декабря 2018

попробуйте это и дайте мне знать, что происходит.твое было настроено на правый клик, но я изменил этот на левый клик, кроме этого я просто поместил шарики х в необработанный х ввода мыши.

private void Update(){

    if (isforce == true){

        force();
    }

    if (Input.GetMouseButton(0)){

        Vector3 mousePos = Input.mousePosition;
        Vector3 wantedPos = transform.position;
wantedPos.x=Input.mousePosition.x;
        transform.position = wantedPos;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...