Exemple #1
0
    private IEnumerator _AnimateSelectedCard(bool leftSelected)
    {
        CardFrame showCard          = leftSelected ? leftCard : rightCard;
        CardFrame hideCard          = leftSelected ? rightCard : leftCard;
        Vector2   hideStartPosition = hideCard.rectT.anchoredPosition;
        Vector2   hideEndPosition   = new Vector2(hideCard.rectT.anchoredPosition.x, CARD_OFF_SCREEN_Y);
        Vector2   showStartPosition = showCard.rectT.anchoredPosition;
        Vector2   showEndPosition   = new Vector2(755, -50);
        Vector3   showStartScale    = Vector3.one;
        Vector3   showEndScale      = new Vector3(0.666f, 0.666f, 0.666f);

        float progress    = 0;
        float elapsedTime = 0;

        while (progress <= 1)
        {
            progress     = elapsedTime / CARD_MOVE_TIME;
            elapsedTime += Time.unscaledDeltaTime;
            float easedProgressHide = Easing.easeInSine(0, 1, progress);
            float easedProgressShow = Easing.easeInOutSine(0, 1, progress);
            hideCard.rectT.anchoredPosition = Vector2.Lerp(hideStartPosition, hideEndPosition, easedProgressHide);
            showCard.rectT.anchoredPosition = Vector2.Lerp(showStartPosition, showEndPosition, easedProgressShow);
            showCard.rectT.localScale       = Vector3.Lerp(showStartScale, showEndScale, easedProgressShow);
            yield return(null);
        }
        hideCard.rectT.anchoredPosition = hideEndPosition;
        showCard.rectT.anchoredPosition = showEndPosition;
        showCard.rectT.localScale       = showEndScale;
    }
        public ConnectedAnimationPage()
        {
            this.InitializeComponent();

            ContentFrame.Navigate(typeof(SamplePage1));

            CollectionContentFrame.Navigate(typeof(ConnectedAnimationPages.CollectionPage));

            CardFrame.Navigate(typeof(ConnectedAnimationPages.CardPage));
        }
Exemple #3
0
 private async Task TranslateCardFrame()
 {
     if (CardFrame.TranslationY < 100)
     {
         await CardFrame.TranslateTo(0, 0, 250);
     }
     else
     {
         await CardFrame.TranslateTo(0, 350, 250);
     }
 }
Exemple #4
0
        private async void PanUpdated(object sender, PanUpdatedEventArgs e)
        {
            switch (e.StatusType)
            {
            case GestureStatus.Running:
                await CardFrame.TranslateTo(0, e.TotalY, 100); break;

            case GestureStatus.Completed:
                await TranslateCardFrame(); break;

            case GestureStatus.Canceled:
                await TranslateCardFrame(); break;
            }
        }
        private async void HandleTouchEnd()
        {
            if (CardFrame.TranslationX > animationSlideRange)
            {
                OnSwipeRight();
                return;
            }
            else if (CardFrame.TranslationX < -(animationSlideRange))
            {
                OnSwipeLeft();
                return;
            }

            await CardFrame.TranslateTo(0, 0, animLength, Easing.SpringOut);

            BackGrid.Opacity = 0;
            cardDistance     = (float)X;
            sliding          = false;
        }
 public AnimationsPage()
 {
     this.InitializeComponent();
     CardFrame.Navigate(typeof(AnimationsCardPage));
 }