コード例 #1
0
        private void GameImageLoadCompleted()
        {
            LowerBusyIndicator.IsRunning = false;
            UpperBusyIndicator.IsRunning = false;
            ContentPanel.Children.Remove(LowerBusyIndicator);
            ContentPanel.Children.Remove(UpperBusyIndicator);

            var radScaleAndFadeAnimation = new RadScaleAndFadeAnimation();
            radScaleAndFadeAnimation.FadeAnimation.StartOpacity = 1;
            radScaleAndFadeAnimation.FadeAnimation.EndOpacity = 0;
            radScaleAndFadeAnimation.ScaleAnimation.StartScaleX = 1.0;
            radScaleAndFadeAnimation.ScaleAnimation.EndScaleX = 3.0;
            radScaleAndFadeAnimation.ScaleAnimation.StartScaleY = 1.0;
            radScaleAndFadeAnimation.ScaleAnimation.EndScaleY = 3.0;
            radScaleAndFadeAnimation.FadeAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
            radScaleAndFadeAnimation.ScaleAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
            radScaleAndFadeAnimation.FillBehavior = AnimationFillBehavior.Stop;
            radScaleAndFadeAnimation.Easing = new CubicEase { EasingMode = EasingMode.EaseOut };

            var chapter = StageUnlockManager.Instance.ChapterOfStage(_stage);
            var chapterName = chapter.LocalizedName;

            UpperCountDownNumber.Text = chapterName;
            UpperCountDownNumber.Tag = 3;
            UpperCountDownNumber.FontSize = 30;
            UpperCountDownNumber.Visibility = Visibility.Visible;
            UpperCover.Visibility = Visibility.Visible;
            UpperCover.Opacity = 1;

            LowerCountDownNumber.Text = chapterName;
            LowerCountDownNumber.Tag = 3;
            LowerCountDownNumber.FontSize = 30;
            LowerCountDownNumber.Visibility = Visibility.Visible;
            LowerCover.Visibility = Visibility.Visible;
            LowerCover.Opacity = 1;

            _countdownSoundEffect.Play(0.5f, 0f, 0f);
            PlayCountDownAnimation(UpperCountDownNumber, radScaleAndFadeAnimation, UpperCover);
            PlayCountDownAnimation(LowerCountDownNumber, radScaleAndFadeAnimation, LowerCover);
        }
コード例 #2
0
        private RadAnimation TimerDeductAnimation()
        {
            var radScaleAndFadeAnimation = new RadScaleAndFadeAnimation();
            radScaleAndFadeAnimation.FadeAnimation.StartOpacity = 1;
            radScaleAndFadeAnimation.FadeAnimation.EndOpacity = 0.3;
            radScaleAndFadeAnimation.ScaleAnimation.StartScaleX = 1.0;
            radScaleAndFadeAnimation.ScaleAnimation.EndScaleX = 3.0;
            radScaleAndFadeAnimation.ScaleAnimation.StartScaleY = 1.0;
            radScaleAndFadeAnimation.ScaleAnimation.EndScaleY = 3.0;
            radScaleAndFadeAnimation.FadeAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
            radScaleAndFadeAnimation.ScaleAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
            radScaleAndFadeAnimation.FillBehavior = AnimationFillBehavior.Stop;
            radScaleAndFadeAnimation.Easing = new CubicEase { EasingMode = EasingMode.EaseOut };

            return radScaleAndFadeAnimation;
        }
コード例 #3
0
        private void AnimateDisplayGameScore()
        {
            var scaleAndFadeAnimation = new RadScaleAndFadeAnimation();
            scaleAndFadeAnimation.FadeAnimation.StartOpacity = 0;
            scaleAndFadeAnimation.FadeAnimation.EndOpacity = 1;
            scaleAndFadeAnimation.ScaleAnimation.StartScaleX = 1.0;
            scaleAndFadeAnimation.ScaleAnimation.EndScaleX = 2.0;
            scaleAndFadeAnimation.ScaleAnimation.StartScaleY = 1.0;
            scaleAndFadeAnimation.ScaleAnimation.EndScaleY = 2.0;
            scaleAndFadeAnimation.FadeAnimation.Duration = new Duration(TimeSpan.FromSeconds(2));
            scaleAndFadeAnimation.ScaleAnimation.Duration = new Duration(TimeSpan.FromSeconds(2));
            scaleAndFadeAnimation.FillBehavior = AnimationFillBehavior.HoldEnd;
            scaleAndFadeAnimation.Easing = new CubicEase { EasingMode = EasingMode.EaseOut };
            scaleAndFadeAnimation.Easing = new ElasticEase { Oscillations = 2 };

            var animator = new SequentialAnimator {
                AnimationTargets = new List<UIElement> { Score1, Score2, Score3, Score4 },
                AnimationGenerator = () => {
                    var radScaleAndFadeAnimation = new RadScaleAndFadeAnimation();
                    radScaleAndFadeAnimation.FadeAnimation.StartOpacity = 0;
                    radScaleAndFadeAnimation.FadeAnimation.EndOpacity = 1;
                    radScaleAndFadeAnimation.ScaleAnimation.StartScaleX = 1.0;
                    radScaleAndFadeAnimation.ScaleAnimation.EndScaleX = 2.0;
                    radScaleAndFadeAnimation.ScaleAnimation.StartScaleY = 1.0;
                    radScaleAndFadeAnimation.ScaleAnimation.EndScaleY = 2.0;
                    radScaleAndFadeAnimation.FadeAnimation.Duration = new Duration(TimeSpan.FromSeconds(2));
                    radScaleAndFadeAnimation.ScaleAnimation.Duration = new Duration(TimeSpan.FromSeconds(2));
                    radScaleAndFadeAnimation.FillBehavior = AnimationFillBehavior.HoldEnd;
                    radScaleAndFadeAnimation.Easing = new CubicEase { EasingMode = EasingMode.EaseOut };
                    radScaleAndFadeAnimation.Easing = new ElasticEase { Oscillations = 2 };
                    return radScaleAndFadeAnimation;
                },
                TimeDelta = 0.3
            };

            animator.PlayAnimation(() => {
                FinalScoreText.Text = ScoreTextBlock.Text;
                RadAnimationManager.Play(FinalScoreText, scaleAndFadeAnimation, () => {
                    var fileStream = Application.GetResourceStream(new Uri("Images/star-1-icon.png", UriKind.Relative));
                    var goldStar = new BitmapImage();
                    using (var stream = fileStream.Stream) {
                        goldStar.SetSource(stream);
                    }

                    _answerFoundTime.Where(i => i > 35).ToList().ForEach(s => {
                        var star = new Image {
                            Source = goldStar,
                            Width = 40,
                            Height = 40
                        };
                        FinalScore.Children.Add(star);
                        RadAnimationManager.Play(star, scaleAndFadeAnimation);
                    });
                });
            });
        }
コード例 #4
0
        private void AppendFullImageNews()
        {
            List<string> ctgyFileList = FileHelper.GetFiles("fbd-ctgy-");

            DataModel.ChannelItem targetChannel = null;
            string targetCategory = null;
            string targetFile = null;

            if (ctgyFileList != null && ctgyFileList.Count > 0)
            {
                Random random = new Random();
                int targetIndex = random.Next(0, ctgyFileList.Count);

                string targetCategoryFile = ctgyFileList[targetIndex];
                targetFile = targetCategoryFile.Replace(".xml", "");
                targetCategory = targetCategoryFile.Replace("fbd-ctgy-", "").Replace(".xml", "");
                var categoryItem = MiscHelpers.GetCatergoryItemFromIsolatedStorage(targetCategoryFile);
                if (categoryItem != null && categoryItem.ChannelItems != null && categoryItem.ChannelItems.Count > 0)
                {
                    targetIndex = random.Next(0, categoryItem.ChannelItems.Count);
                    var targetChannel2 = categoryItem.ChannelItems[targetIndex];
                    if (targetChannel2 != null && targetChannel2.NewsItems != null && targetChannel2.NewsItems.Count > 0)
                    {
                        targetChannel = targetChannel2;
                    }
                }
            }
            else
            {
                List<string> channelFileList = FileHelper.GetFiles("fbd-channel-");
                if (channelFileList != null && channelFileList.Count > 0)
                {
                    Random random = new Random();
                    int targetIndex = random.Next(0, channelFileList.Count);

                    string targetChannelFile = channelFileList[targetIndex];
                    targetFile = targetChannelFile.Replace(".xml", "");
                    var targetChannel2 = MiscHelpers.GetChannelItemFromIsolatedStorage(targetChannelFile);
                    if (targetChannel2 != null && targetChannel2.NewsItems != null && targetChannel2.NewsItems.Count > 0)
                    {
                        targetChannel = targetChannel2;
                    }
                }
            }

            if (targetChannel == null) return;

            var targetNewsItem = targetChannel.NewsItems[0];

            FullImageNewsTitle.Text = targetNewsItem.NewsTitle;
            FullImageNewsFeedUrl.Text = targetNewsItem.FeedTitle + "       " +
                                        MiscHelpers.GetNewsDateInfo(targetNewsItem.NewsPublishedDate);

            if (targetCategory != null)
            {
                string defaultPhoto = CategoryConfigA.Config[targetCategory]["photo_home"];

                FullImageNewsImage.Source = new BitmapImage(new Uri(defaultPhoto, UriKind.RelativeOrAbsolute));
            }

            var targetItemGuid = targetNewsItem.Tag.ToString();

            ContentPanel3.Tap += delegate
                {
                    Analytics.GetInstance().TrackHomeButtonPressed("fullimage");

                    Dispatcher.BeginInvoke(
            () => NavigationService.Navigate(new Uri("/NewsItemFullPage.xaml?category=" + targetCategory + "&storage=" + targetFile + "&viewtype=" + PinType.SubCategory
            + "&itemguid=" + targetItemGuid
            , UriKind.Relative)));

                };

            var scaleFadeAnimation = new RadScaleAndFadeAnimation
            {
                Duration = new Duration(TimeSpan.FromSeconds(7))
            };
            scaleFadeAnimation.FadeAnimation.StartOpacity = 0.9;
            scaleFadeAnimation.FadeAnimation.EndOpacity = 1.0;
            scaleFadeAnimation.FadeAnimation.Duration = new Duration(TimeSpan.FromSeconds(10));
            scaleFadeAnimation.ScaleAnimation.StartScaleX = 1.15;
            scaleFadeAnimation.ScaleAnimation.EndScaleX = 1.0;
            scaleFadeAnimation.ScaleAnimation.StartScaleY = 1.15;
            scaleFadeAnimation.ScaleAnimation.EndScaleY = 1.0;
            scaleFadeAnimation.ScaleAnimation.Duration = new Duration(TimeSpan.FromSeconds(10));

            var moveXAnimation = new RadMoveXAnimation
            {
                StartX = 0,
                EndX = 40,
                Duration = new Duration(TimeSpan.FromSeconds(10))
            };

            var moveXAnimation2 = new RadMoveXAnimation
            {
                StartX = 40,
                EndX = 0,
                Duration = new Duration(TimeSpan.FromSeconds(10))
            };

            RadAnimationManager.Play(ContentPanel3, scaleFadeAnimation, () =>
                RadAnimationManager.Play(FullImageNewsImage, moveXAnimation, () =>
                    RadAnimationManager.Play(FullImageNewsImage, moveXAnimation2, () =>
                        RadAnimationManager.Play(FullImageNewsImage, moveXAnimation, () =>
                            RadAnimationManager.Play(FullImageNewsImage, moveXAnimation2)))));
        }