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(); }
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); }
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; }
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 }); }