Пример #1
0
        public override void updateTouch()
        {
            //最後のカーソル座標更新
            mLastMousePosition    = mCurrentMousePosition;
            mCurrentMousePosition = Input.mousePosition;

            MyTouchInfo tInfo = new MyTouchInfo();

            //タッチ状態
            if (Input.GetMouseButtonDown(0))
            {
                tInfo.state = MyTouchState.begin;
            }
            else if (Input.GetMouseButton(0))
            {
                tInfo.state = (mLastMousePosition == Input.mousePosition) ? MyTouchState.stationary : MyTouchState.moved;
            }
            else if (Input.GetMouseButtonUp(0))
            {
                tInfo.state = MyTouchState.ended;
            }
            else
            {
                mLastMousePosition = Input.mousePosition;
                mInfos             = new MyTouchInfo[0];
                return;
            }
            //タッチ座標
            tInfo.position      = mCurrentMousePosition;
            tInfo.deltaPosition = mCurrentMousePosition - mLastMousePosition;
            mInfos = new MyTouchInfo[1] {
                tInfo
            };
        }
        public override void update()
        {
            MyTouchInfo tTouch = MyTouchInput.getTouch()[0];

            if (tTouch.state == MyTouchState.moved)//ドラッグ開始
            {
                parent.changeState(new MyScrollViewDragScrollState(parent));
                return;
            }
            if (tTouch.state == MyTouchState.stationary)//長押し判定
            {
                if (!parent.mOption.sortable)
                {
                    return;                          //ソート機能offの場合はreturn
                }
                mTappingTime += Time.deltaTime;
                if (parent.mOption.longTapTime < mTappingTime)
                {
                    parent.changeState(new MyScrollViewDragSortState(parent));
                }
                return;
            }
            //タップ終了
            endTap();
        }
Пример #3
0
    public MyTouchInfo clone()
    {
        MyTouchInfo tInfo = new MyTouchInfo();

        tInfo.state         = this.state;
        tInfo.position      = new Vector2(this.position.x, this.position.y);
        tInfo.deltaPosition = new Vector2(this.deltaPosition.x, this.deltaPosition.y);
        return(tInfo);
    }
Пример #4
0
 public override void updateTouch()
 {
     MyTouchInfo[] tInfos = new MyTouchInfo[Input.touchCount];
     for (int i = 0; i < Input.touchCount; i++)
     {
         Touch       tTouch  = Input.GetTouch(i);
         MyTouchInfo tMyInfo = new MyTouchInfo();
         tMyInfo.state         = (MyTouchState)((int)tTouch.phase);
         tMyInfo.position      = tTouch.position;
         tMyInfo.deltaPosition = tTouch.deltaPosition;
         tInfos[i]             = tMyInfo;
     }
     mInfos = tInfos;
 }
Пример #5
0
        public override MyTouchInfo[] getTouches(Camera aCamera)
        {
            if (mInfos.Length == 0)
            {
                return(new MyTouchInfo[0]);
            }
            MyTouchInfo tInfo = mInfos[0].clone();

            tInfo.position = aCamera.ScreenToWorldPoint(tInfo.position);
            Vector3 tLastCameraPosition = aCamera.ScreenToWorldPoint(mLastMousePosition);

            tInfo.deltaPosition = new Vector2(tInfo.position.x - tLastCameraPosition.x, tInfo.position.y - tLastCameraPosition.y);
            return(new MyTouchInfo[1] {
                tInfo
            });
        }