使用Raycast

时间:2018-09-13 08:34:18

标签: c# unity3d raycasting

早上好,我遇到一个问题,在Unity c#中,屏幕顶部有掉落的物体。我正在使用Raycast检测落下的物体的触摸,该物体是预制件的克隆。在较慢的速度下,它能够检测到特定游戏对象的触摸,但是随着游戏稍微加速,它就不想检测到对象的触摸。这是我用于触摸检测的代码:

 void Start() {
    // speed of game increases
    speed = Mathf.Lerp(speedMinMax.x, speedMinMax.y, Difficulty.GetDifficultyPercent());

}

// Update is called once per frame

void Update () {
    // This creates the objects to fall down
    transform.Translate(Vector3.down * speed * Time.deltaTime);


        if (Input.GetMouseButtonDown(0))
        {
            RaycastHit2D hitObject = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
            if (hitObject.collider != null && hitObject.transform.gameObject.tag == "Collection") {

                if (hitObject.collider.gameObject == gameObject ) {
                    Destroy(gameObject);
                }
            }

          }
        }

同一对象的某些大小不同。对于为什么它不能以更高的速度记录触摸的任何建议,将受到高度赞赏。

0 个答案:

没有答案