Как я могу уничтожить пули, используя RayCast2D? - PullRequest
0 голосов
/ 08 мая 2019

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

Я сделал RayCast луч, чтобы обнаружить коллайдеры, и он работает.У меня возникли проблемы при попытке сделать RayCast2D, чтобы уничтожить пулю при попадании в коллайдер.

if (Input.GetButtonDown("Fire1") && Time.time > nextfire)
{
    nextfire = Time.time + firerate;
    anim.SetTrigger("Shoot");
    GameObject tempBullet = Instantiate(bulletPrefab, shotSpawner.position, 
        shotSpawner.rotation);
    RaycastHit2D hit = Physics2D.Raycast(shotSpawner.position, shotSpawner.right);
    Debug.DrawLine(transform.position, transform.right * 300f, Color.cyan);

    if (hit.collider.tag != null)
    {
        nextfire = Time.time;
        print(hit.collider.name);
    }
    else
    {
        print(hit.collider.name);    
    }
}
...