コード例 #1
0
    void Update()
    {
        if (inputModule != null && selectables != null)
        {
            float horizontal = inputModule.GetAxis(NeverdawnInputAxis.HorizontalLeft);
            float vertical   = inputModule.GetAxis(NeverdawnInputAxis.VerticalLeft);

            if (inputModule.GetButtonDown(NeverdawnInputButton.Left))
            {
                selectTop();
            }

            if (inputModule.GetButtonDown(NeverdawnInputButton.Right))
            {
                selectBottom();
            }

            if (horizontal > 0.0f && prevHorizontal == 0.0f && Mathf.Abs(horizontal) > Mathf.Abs(vertical))
            {
                selectBottom();
            }

            if (horizontal < 0.0f && prevHorizontal == 0.0f && Mathf.Abs(horizontal) > Mathf.Abs(vertical))
            {
                selectTop();
            }

            if (vertical > 0.0f && prevVertical == 0.0f && Mathf.Abs(horizontal) < Mathf.Abs(vertical))
            {
                selectTop();
            }

            if (vertical < 0.0f && prevVertical == 0.0f && Mathf.Abs(horizontal) < Mathf.Abs(vertical))
            {
                selectBottom();
            }


            prevHorizontal = horizontal;
            prevVertical   = vertical;
        }

        if (lerp <= 1.0f)
        {
            lerp += Time.deltaTime * scrollSpeed;
            rectTransform.anchoredPosition = new Vector2(0.0f, Mathf.Lerp(currentScroll, targetScroll, lerp));
        }
    }