diff --git a/Wpf_AiSportsMicrospace/Dto/MusicJumpRopeContext.cs b/Wpf_AiSportsMicrospace/Dto/MusicJumpRopeContext.cs index 3f01bd6..6190c8b 100644 --- a/Wpf_AiSportsMicrospace/Dto/MusicJumpRopeContext.cs +++ b/Wpf_AiSportsMicrospace/Dto/MusicJumpRopeContext.cs @@ -50,6 +50,8 @@ namespace Dto } }; + public Dictionary> MusicBeatsDic; + public MusicJumpRopeContext() { CirclePositions = new List<(double XNorm, double YNorm)> @@ -58,6 +60,8 @@ namespace Dto (0.50, 0.88), }; + MusicBeatsDic = MusicBeats["1"].GroupBy(b => (int)Math.Ceiling(b) - 1).ToDictionary(g => g.Key, g => g.ToList()); + UserList = new List(); UserNumberList = new List(); Sports = new List(); diff --git a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs index 8a549d0..d2f8def 100644 --- a/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs +++ b/Wpf_AiSportsMicrospace/Views/JumpRope/GroupJumpRope.xaml.cs @@ -216,7 +216,7 @@ namespace Wpf_AiSportsMicrospace.Views } } - private int _currentCountdown = 3; + private double _currentCountdown = 3600; private DateTime _lastUpdateTime = DateTime.Now; private void StartCountdown(int start = 3) { @@ -233,10 +233,10 @@ namespace Wpf_AiSportsMicrospace.Views private void UpdateCountdown() { - if ((DateTime.Now - _lastUpdateTime).TotalSeconds >= 1) + if ((DateTime.Now - _lastUpdateTime).TotalMilliseconds >= 600) { _lastUpdateTime = DateTime.Now; - _currentCountdown--; + _currentCountdown -= 600; if (_currentCountdown > 0) { diff --git a/Wpf_AiSportsMicrospace/Views/JumpRope/MusicJumpRope.xaml.cs b/Wpf_AiSportsMicrospace/Views/JumpRope/MusicJumpRope.xaml.cs index 937cf72..b5b9310 100644 --- a/Wpf_AiSportsMicrospace/Views/JumpRope/MusicJumpRope.xaml.cs +++ b/Wpf_AiSportsMicrospace/Views/JumpRope/MusicJumpRope.xaml.cs @@ -234,10 +234,11 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope private DateTime _lastUpdateTime = DateTime.Now; private void StartCountdown(int start = 3) { - _currentCountdown = start; - countdownText.Text = _currentCountdown.ToString(); - countdownGrid.Visibility = Visibility.Visible; - _lastUpdateTime = DateTime.Now; + _mainWin.ShowCountDownAnimation(); + //_currentCountdown = start; + //countdownText.Text = _currentCountdown.ToString(); + //countdownGrid.Visibility = Visibility.Visible; + //_lastUpdateTime = DateTime.Now; Utils.PlayBackgroundMusic("countdown_3.mp3", false); } @@ -276,7 +277,7 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope // 播放背景音乐(循环) Utils.PlayBackgroundMusic("1.MP3", true); - //StartBeatScrollTimer(); + StartBeatScrollTimer(); for (int i = seconds; i >= 0; i--) { @@ -685,7 +686,6 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope var beats = _musicJumpRopeContext.MusicBeats["1"]; double lastX = 0; double scale = 300; // 间隔放大系数,可调 - for (int i = 0; i < beats.Count; i++) { double interval = i == 0 ? beats[0] : beats[i] - beats[i - 1]; @@ -730,6 +730,7 @@ namespace Wpf_AiSportsMicrospace.Views.JumpRope beatCanvasRight.Children.Add(rightEllipse); } beatCanvasRight.Width = totalWidth; + } private DispatcherTimer _beatScrollTimer; private double totalTime = 108.455; // 音乐总时长