Как стрелять мячом в положение Touch X в Unity 3D? - PullRequest
0 голосов
/ 10 декабря 2018

У меня есть мяч на земле, и, касаясь экрана, я хочу отстрелить его в положение X касания.У вас есть какие-либо предложения?

Это код, который у меня есть:

public Rigidbody Ball;
public float Speed = 50f;



void FixedUpdate () {

    if(ClickDone == false){
        if (Input.GetMouseButton(0)){
            ClickDone = true;
            Ball.velocity = transform.forward * Speed;
        }
    }
}

1 Ответ

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

вот ваш новый код:

using UnityEngine;

public class GoToTouch : MonoBehaviour
{
    public Camera cam;//put your main camera here
    public float speed;//Speed of movement
    Vector3 LastTouch;
    void Start()
    {
        LastTouch = Vector3.zero;
    }

    void Update()
    {
        //We check for new touches etch frame
        if (Input.touchCount> 0)
            LastTouch = Input.touches[0].rawPosition;
        //We move towards the last touch
        if(LastTouch != Vector3.zero)transform.position=
    Vector3.Lerp(transform.position,cam.ScreenToWorldPoint(LastTouch),speed*Time.DeltaTime);
    }
}

для вас важно взглянуть на функцию ScreenToWorldPoint. LastTouch содержит фактический пиксель, к которому прикоснулся пользователь, после того, как ScreenToWorldPoint вы получите позицию, которую представляет пиксель, к которому он прикоснулсяв мире.Удачи в обучении!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...