尝试在游戏中加入计时器,使用Visual Studio和c#
本文关键字:使用 Visual Studio 计时器 游戏 | 更新日期: 2023-09-27 18:11:46
我是c#开发的新手,但我正试图为我的孩子编写一个包含计时器的游戏。我使用的是微软Visual Studio社区2015(版本14.0.25431.01更新3)。我使用的是"空白"模板,我的目标是通用Windows,"Windows 10周年纪念版(10.0;建立14393年)"。
主页。xaml,我假设我可以单击工具箱并选择一个"计时器"控件,然后它会出现在下面的代码中,然后我就可以在MainPage.xaml.cs中引用它。
然而,没有"定时器"控件可从"所有XAML控件"列表中选择,当我试图插入"使用系统"时。在mainpage . example .cs中,它似乎无法识别它。
所有我需要的是一个计时器开始"滴答"当开始按钮被按下,并允许输入一个固定的秒数之前"计时"和移动到下一个问题。
任何指示将非常感激收到!
听起来你习惯在WinForms或VB6的拖放界面中编程…为了完成你所描述的,你需要在你的XAML中有一个按钮和一个输入控件,然后计时器将驻留在代码后面(或者如果你遵循MVVM,那么它将驻留在视图模型中)。它的简单实现如下:
MainPage.xaml
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Button Grid.Row="0" x:Name="StartButton" HorizontalAlignment="Stretch" Content="Start" Click="StartButton_Click" />
<TextBox Grid.Row="1" x:Name="InputField" HorizontalAlignment="Stretch" ></TextBox>
<TextBlock Grid.Row="2" x:Name="StatusText" HorizontalAlignment="Stretch"></TextBlock>
</Grid>
MainPage.xaml.cs
using System.Threading;
using Window.UI.Xaml;
using Window.UI.Xaml.Controls;
namespace UniversalTimerApp
{
public sealed partial class MainPage : Page
{
private Timer questionTimer;
public MainPage()
{
this.InitializeComponent();
this.questionTimer = new Timer(this.EndOfTimer, null, Timeout.Infinite, Timeout.Infinite);
}
private void StartButton_Click(object sender, RoutedEventArgs e)
{
this.questionTimer.Change(3000, Timeout.Infinite);
this.StatusText.Text = "Timer Started!";
}
private async void EndOfTimer(object state)
{
await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
this.InputField.IsEnabled = false;
this.StatusText.Text = "Timer Ended.";
});
}
}
}