示例#1
0
        public static bool GetArrowKeyDown(Arrow arrow, GPRawID controlIndex)
        {
            bool isArrow = GetArrowKey(arrow, controlIndex);

            bool returnValue;

            try {
                if (previousIsArrow[(int)controlIndex, (int)arrow] == false)
                {
                    //前フレームで押されていない時
                    returnValue = isArrow;
                }
                else
                {
                    //前フレームで押されていた時
                    returnValue = false;
                }
            }
            catch (IndexOutOfRangeException ex) {
                Debug.Log(ex);
                Debug.Log("Array Length:" + previousIsArrow.Length);
                Debug.Log("control Index:" + controlIndex);
                return(false);
            }

            //前フレームの情報を更新
            previousIsArrow[(int)controlIndex, (int)arrow] = GetArrowKey(arrow, controlIndex);
            return(returnValue);
        }
示例#2
0
        public static bool GetArrowKey(Arrow arrow, GPRawID controlIndex)
        {
            Vector2 axis = GetAxis(Axis.Any, controlIndex);

            switch (arrow)
            {
            case Arrow.Left: return(axis.x <= -1.0f);

            case Arrow.Right: return(axis.x >= 1.0f);

            case Arrow.Up: return(axis.y >= 1.0f);

            case Arrow.Down: return(axis.y <= -1.0f);

            case Arrow.Any: return(axis.x <= -1.0f || axis.x >= 1.0f || axis.y >= 1.0f || axis.y <= -1.0f);

            default: return(false);
            }
        }