早上好,我遇到一个问题,在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);
}
}
}
}
同一对象的某些大小不同。对于为什么它不能以更高的速度记录触摸的任何建议,将受到高度赞赏。