我正在制作这张卡片匹配游戏,我的代码是将卡片面朝上翻转,将卡片图像绘制成矩形形状。
BitmapImage bi = new BitmapImage(new Uri("ms-appx:/Assets/Cards/Suit.png", UriKind.Absolute));
ib.ImageSource = bi;
rectangle.Fill = ib;
现在,如果玩家翻了两张牌,并且他们不匹配,我希望游戏等待几秒钟,然后将它们翻转过来。这是我用于延迟的代码。
DateTime dttmCurrentTime = DateTime.Now.AddSeconds(2);
while (DateTime.Now < dttmCurrentTime){ }
我知道,这是迄今为止最不优雅的事情。无论如何,所有这些都采用相同的方法,问题在于,由于某种原因,在while循环结束之后才会出现矩形图像的绘制。我不明白的方式,这是所有的单线程,似乎应该首先出现矩形绘图。有更好的方法可以做到这一点,还是一种解决方法?