Ejemplo n.º 1
0
    private void OnTriggerStay(Collider col)
    {
        Bloque b = col.GetComponent <Bloque>();

        if (b != null)
        {
            Pala p = GetComponentInParent <Pala>();
        }
    }
Ejemplo n.º 2
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        Pala p = collision.gameObject.GetComponent <Pala>();

        if (p != null)
        {
            // Calculate Angle Between the collision point
            Vector3 dir = (Vector3)collision.contacts[0].point - transform.position;
            dir = -dir.normalized;
            GetComponent <Rigidbody2D>().AddForce(dir * p.GetVelocity() / 4 * Time.deltaTime, ForceMode2D.Impulse);
        }
    }
 // Metodo que calcula si se ha marcdo un punto
 public int PuntoMarcado(Pelota ball, Pala p1, Pala p2)
 {
     if (ball.GetPos().Y < 0)
     {
         return(2); // Marca el jugador 2
     }
     if ((ball.GetPos().Y + ball.GetTam()) > bordeX)
     {
         return(1); // Marca el jugador 1
     }
     return(0);     // Nadie ha marcado
 }
        //-----------------------------------------------------------------
        //
        // Metodos que calcula si ha colisionado la Pelota con una pala
        //
        //------------------------------------------------------------------

        public void ColisionPelota(Pelota ball, Pala p1, Pala p2)
        {
            // Comprobamos que la pelota no se choca con la pala 1
            if ((ball.GetPos().Y <= (p1.GetPos().X + 10)) &&
                ((ball.GetPos().X >= p1.GetPos().Y) && (ball.GetPos().X <= (p1.GetPos().Y + p1.GetTam()))))
            {
                ball.ChoqueY();
            }

            // Comprobamos que la pelota no se choca con la pala 2

            if ((ball.GetPos().Y + ball.GetTam() > (p2.GetPos().X)) &&
                ((ball.GetPos().X > p2.GetPos().Y) && (ball.GetPos().X < (p2.GetPos().Y + p2.GetTam()))))
            {
                ball.ChoqueY();
            }
        }
        // Metodo que calcula si se ha marcdo un punto
        public int PuntoMarcado(Pelota ball, Pala p1, Pala p2)
        {
            if (ball.GetPos().Y < 0)
                return 2; // Marca el jugador 2

            if ((ball.GetPos().Y + ball.GetTam()) > bordeX)
                return 1; // Marca el jugador 1

            return 0; // Nadie ha marcado
        }
        //-----------------------------------------------------------------
        //
        // Metodos que calcula si ha colisionado la Pelota con una pala
        //
        //------------------------------------------------------------------
        public void ColisionPelota(Pelota ball, Pala p1, Pala p2)
        {
            // Comprobamos que la pelota no se choca con la pala 1
            if ((ball.GetPos().Y <= (p1.GetPos().X+10)) &&
                ((ball.GetPos().X >= p1.GetPos().Y) && (ball.GetPos().X <= (p1.GetPos().Y + p1.GetTam()))))
            {
                ball.ChoqueY();
            }

            // Comprobamos que la pelota no se choca con la pala 2

            if ((ball.GetPos().Y + ball.GetTam() > (p2.GetPos().X)) &&
                 ((ball.GetPos().X > p2.GetPos().Y) && (ball.GetPos().X < (p2.GetPos().Y + p2.GetTam()))))
            {
                ball.ChoqueY();
            }
        }