首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xaml C#中Windows8商店应用程序的游戏循环

Xaml C#中Windows8商店应用程序的游戏循环
EN

Stack Overflow用户
提问于 2012-10-11 01:47:31
回答 2查看 1.5K关注 0票数 2

我正在寻找一些指导,当设计一个windows8商店,转到转游戏应用程序(XAML / C#)。

每一轮,AI做一些任务,玩家做一些任务。这可以被视为状态机/固定工作流。

我可以考虑使用游戏循环1,或者在由用户input2触发的状态机中创建和跟踪每个状态

代码语言:javascript
复制
[1]:
where(true)
{
    BeginTurn();
    AiDoSomething1();
    await PlayerInput1();

    AiDoSomething2();
    await PlayerInput2();
    EndTurn();
}

[2]:
void PlayerInput1()
{
    lock(_lock)
    {
        if(State == State.State1)
        {
            State = State.State2;
            AiDoSomething2();
        }
    }
}

void PlayerInput2()
{
    lock(_lock)
    {
        if(State == State.State2)
        {
           State = State.State1;
           EndTurn(); BeginTurn();
           AiDoSomething1();
        }
    }
}

对于使用XAML/C#的Windows8商店应用程序,有没有一种众所周知的模式来处理这种情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-11 02:23:34

您可以使用VisualStateManager控制可视状态。使用此方法,您只需在VM中设置一个值,然后在视图中进行反应即可查看状态。

票数 1
EN

Stack Overflow用户

发布于 2013-05-06 20:03:03

我不确定你是否指的是更多字面意义上的游戏循环,但为了防止有人搜索,这里有三种方法可以在Windows 8中创建游戏循环:

  1. 使用XNA/MonoGame并使用它。需要使用一个很大的外部依赖项
  2. CompositionTarget.Rendering。很简单,但是没有办法知道
  3. 使用MonoGame的GameTimer在两帧之间经过了多少时间。使用幕后的最后一种方法和秒表来跟踪经过的时间。如果你不使用XNA

,可能是你最好的选择。

更多详情请访问:http://www.spottedzebrasoftware.com/blog/windows-8-game-loop.html

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

https://stackoverflow.com/questions/12825305

复制
相关文章

相似问题

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