首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在操作之间暂停

在操作之间暂停
EN

Stack Overflow用户
提问于 2011-05-08 14:26:56
回答 1查看 492关注 0票数 2

我正在尝试建立一个简单的记忆游戏。点击一张没有被“翻转”的卡片,只是简单地“翻转”卡片(显露出图像的底面)。

当一张卡片已经显示,第二张卡片被翻转时,我想暂停一秒钟。然后,如果翻过来的牌与第一张牌匹配,我会将它从棋盘上移走,如果不匹配,我会将两张牌都翻回隐藏的阶段。

我有“翻牌”的代码,我只是想知道如何在第二张牌被翻转后暂停一秒钟。

我试过了:

代码语言:javascript
复制
System.Threading.Thread.Sleep(1000)

代码语言:javascript
复制
Dispatcher.BeginInvoke(() => System.Threading.Thread.Sleep(1000));

但它并不像我想的那样工作。这是我的第一个WP7和Silverlight项目,所以我不确定我做错了什么。

任何建议都会受到极大的欢迎!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-08 14:42:03

使用DispatcherTimer类:

代码语言:javascript
复制
var timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0,0,0,1);
timer.Tick += SomeTickMethod;
timer.Start();

private void SomeTickMethod(obejct sender, EventArgs e) {
    FlipBackCards();
    //remember to stop it :)
    ((DispatcherTimer)sender).Stop();
}

然后在你的Tick方法中,你翻转卡片。您可以使计时器成为类成员,在这种情况下(基于您自己的一些逻辑),您可以随时停止()计时器的触发。

希望这能有所帮助

(请注意,我很快就输入了这个代码,可能不是100%,应该很接近)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5925965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档