示例#1
0
    private void LaunchSingleRay(Vector2 dir)
    {
        Vector3     cross   = new Vector3(dir.x, dir.y, 1.0f);
        Vector3     perp    = Vector3.Cross(dir, cross).normalized * .35f;
        GameObject  newRay1 = rays.PopAvailable();
        Rigidbody2D rayRb1  = newRay1.GetComponent <Rigidbody2D> ();

        rayRb1.velocity = dir;
        if (alternateRayShot)
        {
            newRay1.transform.position = transform.position + perp;
        }
        else
        {
            newRay1.transform.position = transform.position - perp;
        }
        alternateRayShot = !alternateRayShot;
        newRay1.transform.Rotate(0, 0, ZRotationFromVect2(dir));
    }