示例#1
0
 void Update()
 {
     if (banderaFlota == true)
     {
         oscilacion.Flota();
         banderaFlota = false;
     }
 }
    void Update()
    {
        // Si el botón está pulsado
        if (objetoPulsable.EstaPulsado())
        {
            DesaparecerArriba();

            // Le pasa a gestorEscenas la siguiente escena
            gestorEscenas.SiguienteEscena(escenaEsfera);
            elevador.Teletransportar();
        }

        // Cuando se desplaza la posición se actualiza con lerp
        if (banderaDesplazamiento == true)
        {
            transform.localPosition = Vector3.Lerp(transform.localPosition,
                                                   posicionObjetivo,
                                                   Time.deltaTime * velocidad
                                                   );
        }

        // Posible bug: si las esferas se desplazasen mientras están dentro zonaOscilación, se bloquearía para siempre (no va a pasar)

        if ((Mathf.Abs(transform.localPosition.y) < zonaOscilacion) && (banderaDesplazamiento == true))
        {
            banderaDesplazamiento = false;
            oscilacion.Flota();
        }

        // Cuando se sale del elevador las esferas desaparecen
        if (elevador.SalidaElevador())
        {
            banderaEntradaElevador = true;
            DesaparecerArriba();
        }

        // Cuando se vuelve a entrar al elevador vuelven a aparecer
        else if (banderaEntradaElevador == true)
        {
            banderaEntradaElevador = false;
            Aparecer();
        }
    }
示例#3
0
 // Use this for initialization
 void Start()
 {
     m_oscilacion = GetComponent <Oscilacion>();
     m_oscilacion.Flota();
 }