protected override void OnBegin(FingerGestures.IFingerList touches) { Position = touches.GetAveragePosition(); StartPosition = Position; direction = FingerGestures.SwipeDirection.None; startTime = Time.time; }
/// <summary> /// 获取触摸移动方向的方法 /// </summary> /// <param name="gesture"></param> public void OnSwipe(SwipeGesture gesture) { // 完整的滑动数据 Vector2 move = gesture.Move; // 滑动的速度 float velocity = gesture.Velocity; // 大概的滑动方向 FingerGestures.SwipeDirection direction = gesture.Direction; if (direction.ToString() == "Left") { Audiomanagement.B_Click_Audio_Source("Turn_over_aBook"); print(direction.ToString()); autoFlip.FlipRightPage(); } else { Audiomanagement.B_Click_Audio_Source("Turn_over_aBook"); print(direction.ToString()); autoFlip.FlipLeftPage(); } }
// spin the yellow cube when swipping it void FingerGestures_OnFingerSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { if (direction == FingerGestures.SwipeDirection.Up) { GameManager.instance.CurrentBlock.RotateBlock(); } }
public static Vector3 GetSwipeDirectionVector(FingerGestures.SwipeDirection direction) { switch (direction) { case FingerGestures.SwipeDirection.Up: return(Vector3.up); case FingerGestures.SwipeDirection.UpperRightDiagonal: return(0.5f * (Vector3.up + Vector3.right)); case FingerGestures.SwipeDirection.Right: return(Vector3.right); case FingerGestures.SwipeDirection.LowerRightDiagonal: return(0.5f * (Vector3.down + Vector3.right)); case FingerGestures.SwipeDirection.Down: return(Vector3.down); case FingerGestures.SwipeDirection.LowerLeftDiagonal: return(0.5f * (Vector3.down + Vector3.left)); case FingerGestures.SwipeDirection.Left: return(Vector3.left); case FingerGestures.SwipeDirection.UpperLeftDiagonal: return(0.5f * (Vector3.up + Vector3.left)); } Debug.LogError("Unhandled swipe direction: " + direction); return(Vector3.zero); }
public void Emit(FingerGestures.SwipeDirection direction, float swipeVelocity) { Vector3 heading; // convert the swipe direction to a 3D vector we can use as our new forward direction for the particle emitter if (direction == FingerGestures.SwipeDirection.Up) { heading = Vector3.up; } else if (direction == FingerGestures.SwipeDirection.Down) { heading = Vector3.down; } else if (direction == FingerGestures.SwipeDirection.Right) { heading = Vector3.right; } else { heading = Vector3.left; } // orient our emitter towards the swipe direction emitter.transform.rotation = Quaternion.LookRotation(heading); Vector3 localEmitVelocity = emitter.localVelocity; localEmitVelocity.z = baseSpeed * swipeVelocityScale * swipeVelocity; emitter.localVelocity = localEmitVelocity; // fire away! emitter.Emit(); }
//上下左右四方方向滑动手势操作 void OnFingerSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { //结果是 Up Down Left Right 四个方向 Debug.Log("OnFingerSwipe " + direction + " with finger " + fingerIndex); if (BattleControllor.hero == null) { return; } switch (direction) { case FingerGestures.SwipeDirection.Down: BattleControllor.hero.direction = MoveDirection.DOWN; break; case FingerGestures.SwipeDirection.Up: BattleControllor.hero.direction = MoveDirection.UP; break; case FingerGestures.SwipeDirection.Right: BattleControllor.hero.direction = MoveDirection.RIGHT; break; case FingerGestures.SwipeDirection.Left: BattleControllor.hero.direction = MoveDirection.LEFT; break; } }
protected override GestureState OnActive(FingerGestures.IFingerList touches) { if (touches.Count != RequiredFingerCount) { // fingers were lifted off if (touches.Count < RequiredFingerCount) { if (direction != FingerGestures.SwipeDirection.None) { if (OnSwipe != null) { OnSwipe(this); } return(GestureState.Recognized); } } return(GestureState.Failed); } Position = touches.GetAveragePosition(); Move = Position - StartPosition; float distance = Move.magnitude; // didnt move far enough if (distance < MinDistance) { return(GestureState.InProgress); } float elapsedTime = Time.time - startTime; if (elapsedTime > 0) { velocity = distance / elapsedTime; } else { velocity = 0; } // we're going too slow if (velocity < MinVelocity) { return(GestureState.Failed); } FingerGestures.SwipeDirection newDirection = FingerGestures.GetSwipeDirection(Move.normalized, DirectionTolerance); // we went in a bad direction if (!IsValidDirection(newDirection) || (direction != FingerGestures.SwipeDirection.None && newDirection != direction)) { return(GestureState.Failed); } direction = newDirection; return(GestureState.InProgress); }
public bool RaiseSwipe(int fingerIndex, Vector2 fingerPos, FingerGestures.SwipeDirection direction, float velocity) { if (velocity < minVelocity) { return(false); } if (!IsValid(direction)) { return(false); } FingerIndex = fingerIndex; FingerPos = fingerPos; Direction = direction; Velocity = velocity; if (OnSwipe != null) { OnSwipe(this); } Send(swipeMessage); Send(GetMessageForSwipeDirection(direction)); return(true); }
public void OnSwipe(Vector2 total, FingerGestures.SwipeDirection direction) { if (null == m_currentState) { return; } m_currentState.OnSwipe(total, direction); }
void FingerGestures_OnFingerSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { TBSwipe swipeComp = PickComponent <TBSwipe>(startPos); if (swipeComp) { swipeComp.RaiseSwipe(fingerIndex, startPos, direction, velocity); } }
/// <summary> /// Return true if the input direction is supported /// </summary> public bool IsValidDirection(FingerGestures.SwipeDirection dir) { if (dir == FingerGestures.SwipeDirection.None) { return(false); } return((ValidDirections & dir) == dir); }
void OnSwipe(SwipeGesture gesture) { FingerGestures.SwipeDirection direction = gesture.Direction; if (direction == FingerGestures.SwipeDirection.Left) { if (!isGestureRecognized) { GesturePassAction(); } } }
void OnSwipe(SwipeGesture gesture) { // Approximate swipe direction FingerGestures.SwipeDirection direction = gesture.Direction; if (direction == FingerGestures.SwipeDirection.Down) { foreach (MonoBehaviour currentScript in ListeningScripts) { currentScript.SendMessage("onSwipeDown", SendMessageOptions.DontRequireReceiver); } } }
void Swipe_Gesture(SwipeGesture e) { Vector2 move = e.Move; float velocity = e.Velocity; FingerGestures.SwipeDirection direction = e.Direction; int angle = direction.ToString() == "Left" ? 45 : -45; MyGestureParameter mgp = new MyGestureParameter("swipe"); mgp.angle = angle; pctrl.SetGesture(mgp); }
void OnSwipe(SwipeGesture gesture) { FingerGestures.SwipeDirection direction = gesture.Direction; if (direction == FingerGestures.SwipeDirection.Left) { PanToMoveCamera scriptPan = CameraManager.Instance.PanScript; scriptPan.TutorialSwipeLeft(); if (OnTutorialSwiped != null) { OnTutorialSwiped(this, EventArgs.Empty); } } }
void OnSwipe(SwipeGesture gesture){ FingerGestures.SwipeDirection direction = gesture.Direction; if(direction == FingerGestures.SwipeDirection.Right){ if(!isGestureRecognized){ isGestureRecognized = true; //Disable hint when swipe gesture is registered. GetComponent<HintController>().DisableHint(false); AudioManager.Instance.PlayClip("inhalerExhale"); LgInhalerAnimationEventHandler.BreatheOutEndEvent += BreatheOutEndEventHandler; petAnimator.SetTrigger("BreatheOut"); } } }
public override void OnSwipe(Vector2 total, FingerGestures.SwipeDirection direction) { if (!BattleArena.Singleton.m_roomIsRolling) { return; } if (IsGamePause()) { return; } Vector3 rolePosToScreenPos = Camera.main.WorldToScreenPoint(mainPlayer.RealPos); Vector3 targetPosOnScreen = new Vector3(total.x + rolePosToScreenPos.x, total.y + rolePosToScreenPos.y, rolePosToScreenPos.z); Vector3 targetRealPos = Camera.main.ScreenToWorldPoint(targetPosOnScreen); mainPlayer.CurrentCmd = new MainPlayer.Cmd(targetRealPos, Player.ENCmdType.enRoll); }
// spin the yellow cube when swipping it void FingerGestures_OnTwoFingerSwipe(Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { // make sure we started the swipe GestureMagon our swipe object GameObject selection = PickObject(startPos); if (selection == swipeObject) { UI.StatusText = "Swiped " + direction + " with two fingers"; SwipeParticlesEmitter emitter = selection.GetComponentInChildren <SwipeParticlesEmitter>(); if (emitter) { emitter.Emit(direction, velocity); } } }
void OnDrag(DragGesture gesture) { if (!isPlaying) { return; } // update the ninja gesture cut trail UpdateTrail(gesture); // Figure out the direction of the trail Vector2 dir = gesture.TotalMove.normalized; // you could also use Gesture.DeltaMove to get the movement change since last frame FingerGestures.SwipeDirection swipeDir = FingerGestures.GetSwipeDirection(dir); if (swipeDir != lastDirection && swipeDir != FingerGestures.SwipeDirection.UpperLeftDiagonal && swipeDir != FingerGestures.SwipeDirection.UpperRightDiagonal && swipeDir != FingerGestures.SwipeDirection.LowerLeftDiagonal && swipeDir != FingerGestures.SwipeDirection.LowerRightDiagonal) { AudioManager.Instance.PlayClip("ninjaWhoosh", variations: 3); } lastDirection = swipeDir; switch (gesture.Phase) { case ContinuousGesturePhase.Updated: GameObject go = gesture.Selection; if (go) { //Debug.Log("Touching " + go.name); NinjaTrigger trigger = go.GetComponent <NinjaTrigger>(); // if the trigger is null, check the parent...a little hacky, but sue me! if (trigger == null) { trigger = go.transform.parent.gameObject.GetComponent <NinjaTrigger>(); } if (trigger) { trigger.OnCut(gesture.Position); } } break; } }
public override void OnSwipe(Vector2 total, FingerGestures.SwipeDirection direction) { if (IsGamePause()) { return; } if (direction == FingerGestures.SwipeDirection.Left) { Debug.Log("向左"); StageMenu.Singleton.ChangeTeam(false); } else if (direction == FingerGestures.SwipeDirection.Right) { Debug.Log("向右"); StageMenu.Singleton.ChangeTeam(true); } }
private void ReceivePressSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { if (startPos.y < Screen.height / 2f) { if (defendingMonController != null && direction == FingerGestures.SwipeDirection.Up) { defendingMonController.Shoot(); } } else { if (attackingMonController != null && direction == FingerGestures.SwipeDirection.Down) { attackingMonController.Shoot(); } } }
private static Vector3 GetSwipeDirectionVector(FingerGestures.SwipeDirection direction) { Vector3 direct = Vector3.zero; switch (direction) { case FingerGestures.SwipeDirection.Up: direct = Vector3.up; break; case FingerGestures.SwipeDirection.UpperRightDiagonal: direct = 0.5f * (Vector3.up + Vector3.right); break; case FingerGestures.SwipeDirection.Right: direct = Vector3.right; break; case FingerGestures.SwipeDirection.LowerRightDiagonal: direct = 0.5f * (Vector3.down + Vector3.right); break; case FingerGestures.SwipeDirection.Down: direct = Vector3.down; break; case FingerGestures.SwipeDirection.LowerLeftDiagonal: direct = 0.5f * (Vector3.down + Vector3.left); break; case FingerGestures.SwipeDirection.Left: direct = Vector3.left; break; case FingerGestures.SwipeDirection.UpperLeftDiagonal: direct = 0.5f * (Vector3.up + Vector3.left); break; default: Debug.LogError("Unhandled swipe direction: " + direction); break; } return(direct); }
/// <summary> /// Delegate for the OnFingernSwipe event /// </summary> /// <param name="fingerIndex">0-based index uniquely indentifying a specific finger</param> /// <param name="startPos">Initial position of the finger</param> /// <param name="direction">Direction of the swipe gesture</param> /// <param name="velocity">How quickly the finger has moved (in screen pixels per second)</param> public void OnFingerSwipeEvent(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { // If hit UIObject, return donn't need dispose 3DObject if (Globals.Instance.MGUIManager.MIsHitUIObject) { // foreach (IFingerEventListener listener in MUIObjectEventListenerList) // { // if (!listener.IsFingerEventActive()) // continue; // // if (listener.OnFingerTapEvent(fingerIndex, startPos, direction, velocity )) // { // break; // } // } return; } }
Message GetMessageForSwipeDirection(FingerGestures.SwipeDirection direction) { if (direction == FingerGestures.SwipeDirection.Left) { return(swipeLeftMessage); } if (direction == FingerGestures.SwipeDirection.Right) { return(swipeRightMessage); } if (direction == FingerGestures.SwipeDirection.Up) { return(swipeUpMessage); } return(swipeDownMessage); }
private void SwipeEventHandler(SwipeGesture gesture) {//此处根据手势处理游戏逻辑 bool moveFlag = false; FingerGestures.SwipeDirection direction = gesture.Direction; switch (direction) { case FingerGestures.SwipeDirection.Up: if (modifier.MoveUp()) { //检查是否发生有效移动,有效移动才发送swipe消息 moveFlag = true; } break; case FingerGestures.SwipeDirection.Down: if (modifier.MoveDown()) { moveFlag = true; } break; case FingerGestures.SwipeDirection.Left: if (modifier.MoveLeft()) { moveFlag = true; } break; case FingerGestures.SwipeDirection.Right: if (modifier.MoveRight()) { moveFlag = true; } break; default: break; } if (moveFlag) {//发生移动 _fsm.post("swipe"); } }
void OnSwipe(SwipeGesture gesture) { FingerGestures.SwipeDirection direction = gesture.Direction; if (direction == FingerGestures.SwipeDirection.Left || direction == FingerGestures.SwipeDirection.LowerLeftDiagonal) { //If current step is the right sequence if (InhalerGameManager.Instance.IsCurrentStepCorrect(gameStepID)) { if (!isGestureRecognized) { isGestureRecognized = true; //Lean tween cap LeanTween.moveLocal(gameObject, targetPositionTween, 0.5f) .setEase(LeanTweenType.easeOutQuad) .setOnComplete(NextStep); } } } }
//------------------------------------------------------------------------- public void OnFingerSwipe(FingerGestures.SwipeDirection direction, Vector2 finger_start_position, Vector2 finger_end_position) { if (!mActiveInput || onFingerTouchFish == null) { return; } mCurrentMousePosition = pixel2logicPos(finger_end_position); List <FishStillSprite> fish_list = new List <FishStillSprite>(); float gap = 5f; float distance = Vector2.Distance(finger_start_position, finger_end_position); int index = 0; int max_index = (int)(distance / gap) + 1; Vector2 unit_move_vector = (finger_end_position - finger_start_position).normalized; List <FishStillSprite> fishs = null; do { fishs = getAllFishOnOnePoint(finger_start_position + unit_move_vector * gap * index); if (fishs != null) { foreach (var it in fishs) { if (it != null && notInList(it, fish_list)) { fish_list.Add(it); } } } index++; } while (index < max_index); if (fish_list.Count > 0) { onFingerTouchFish(fish_list); } }
public bool IsValid(FingerGestures.SwipeDirection direction) { if (direction == FingerGestures.SwipeDirection.Left) { return(swipeLeft); } if (direction == FingerGestures.SwipeDirection.Right) { return(swipeRight); } if (direction == FingerGestures.SwipeDirection.Up) { return(swipeUp); } if (direction == FingerGestures.SwipeDirection.Down) { return(swipeDown); } return(false); }
//上下左右四方方向滑动手势操作 void OnFingerSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { //结果是 Up Down Left Right 四个方向 Debug.Log("OnFingerSwipe " + direction + " with finger " + fingerIndex); }
protected override GestureState OnActive( FingerGestures.IFingerList touches ) { if( touches.Count != RequiredFingerCount ) { // fingers were lifted off if( touches.Count < RequiredFingerCount ) { if( direction != FingerGestures.SwipeDirection.None ) { if( OnSwipe != null ) OnSwipe( this ); return GestureState.Recognized; } } return GestureState.Failed; } Position = touches.GetAveragePosition(); Move = Position - StartPosition; float distance = Move.magnitude; // didnt move far enough if( distance < MinDistance ) return GestureState.InProgress; if( ElapsedTime > 0 ) velocity = distance / ElapsedTime; else velocity = 0; // we're going too slow if( velocity < MinVelocity ) return GestureState.Failed; FingerGestures.SwipeDirection newDirection = FingerGestures.GetSwipeDirection( Move.normalized, DirectionTolerance ); // we went in a bad direction if( !IsValidDirection( newDirection ) || ( direction != FingerGestures.SwipeDirection.None && newDirection != direction ) ) return GestureState.Failed; direction = newDirection; return GestureState.InProgress; }
// Controls the display of the main menu void FingerGestures_OnSwipe(int fingerIndex, Vector2 startPos, FingerGestures.SwipeDirection direction, float velocity) { if (direction == FingerGestures.SwipeDirection.Up) { if (startPos.y < Screen.height * 0.25) { if (MenuShouldDisplayEvent != null) { MenuShouldDisplayEvent(); } } } if (direction == FingerGestures.SwipeDirection.Down) { if (startPos.y < Screen.height * 0.25) { if (MenuShouldHideEvent != null) { MenuShouldHideEvent(); } } } // Do this when DeviceOrientation.Portrait if (Input.deviceOrientation == DeviceOrientation.Portrait || Input.deviceOrientation == DeviceOrientation.Unknown) { if (direction == FingerGestures.SwipeDirection.Left) { // next & swipe left } else if (direction == FingerGestures.SwipeDirection.Right) { // previous & swipe right } } // Do this when DeviceOrientation.LandscapeLeft if (Input.deviceOrientation == DeviceOrientation.LandscapeLeft && startPos.y > Screen.height * 0.25) { if (direction == FingerGestures.SwipeDirection.Up) { // next & swipe left } else if (direction == FingerGestures.SwipeDirection.Down) { // previous & swipe right } } // Do this when DeviceOrientation.LandscapeRight if (Input.deviceOrientation == DeviceOrientation.LandscapeRight && startPos.y > Screen.height * 0.25) { if (direction == FingerGestures.SwipeDirection.Up) { // next & swipe right } else if (direction == FingerGestures.SwipeDirection.Down) { // previous & swipe left } } }
protected override void OnBegin( FingerGestures.IFingerList touches ) { Position = touches.GetAveragePosition(); StartPosition = Position; direction = FingerGestures.SwipeDirection.None; }