Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: juanma_teso en Octubre 23, 2015, 08:38:47 PM

Título: Duda planteamiento
Publicado por: juanma_teso en Octubre 23, 2015, 08:38:47 PM
Hola a todos! Resulta que tengo una función en el update, esta función lo primero que hace es llamar otra función y devuelve un booleano dependiendo de la posición del dedo (Vector2), pero me he encontrado con un problema muy molesto, esta función se llama cada frame y si muevo el dedo de posición me deja de devolver true, la cuestión es, hay alguna forma de llamar sólo una vez la primera función? Se os ocurre otra forma de plantear el problema? Adjunto el código:
//Control de todo el input del juego
    void ControlTactil ()
    {
        toquesTotal = Input.touchCount;
        switch (toquesTotal)
        {
            case 0:
                {

                }
                break;
            case 1:
                {
                    if (SelectorToque())
                        movimiento = Input.GetTouch(0);
                    if (movimiento.phase == TouchPhase.Began)
                    {
                        dobleToqueMov = (tiempoDobleToqueMov > Time.time) ? true : false;
                        tiempoDobleToqueMov = Time.time + 0.2f;
                        Debug.Log("Toque");
                    }
                    else if (movimiento.phase == TouchPhase.Ended)
                    {
                        Mover(Vector2.zero);
                        Debug.Log("Se acabo");
                    }
                    else
                    {
                        Debug.Log("Moviendose");
                        VectorMovimiento = movimiento.position - centroPantalla;
                        Mover(VectorMovimiento.normalized);
                    }
                }
                break;
            case 2:
                {

                }
                break;
        }
    }

//Función para seleccionar el toque
    bool SelectorToque ()
    {
        if (zonacentro.Contains(Input.GetTouch(0)))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
Título: Duda planteamiento
Publicado por: kaito en Octubre 23, 2015, 09:54:50 PM
Podría ser utilizando en el switch movimiento.phase en lugar de toquesTotal.La función solo sería llamada en TouchPhase.Began
Título: Duda planteamiento
Publicado por: juanma_teso en Octubre 23, 2015, 10:08:37 PM
Igual puede funcionar! Voy a probarlo y posteo el resultado... porque estoy de booleanos, TouchPhase y positions hasta arriba!! jajajaja