OpenTK整数在窗口打开后停止更改值

时间:2018-02-16 15:38:13

标签: window opentk

我需要在后台改变整数,而GameWindow在OpenTK中打开我测试了一些东西而且Totaly在这段代码之后没有工作:

GameWindow polyWindow = new GameWindow(1024, 768);
polyWindow.Run(200);

Folowwing代码:

if (Gamesets.Polygon.Playfield.timer == 2)
{
polyWindow.Close();
}

不执行,它只是一个在2之后关闭窗口的基本计时器        秒,“守则”就在这里:

public static int timer;
public static int ms_timer;
public static void playfield()
    {

        while (true)
        {
            ms_timer = + ms_timer + 1;
            System.Threading.Thread.Sleep(10);
            Console.WriteLine(timer + "S"+ms_timer + "MS");
            if (ms_timer == 100) { timer = timer + 1; ms_timer = 0; }
            if (timer == 10)
            {

            }

并且在显示GameWindow之后它不起作用

1 个答案:

答案 0 :(得分:0)

GameWindow.Run()语句之后写的任何代码都将在窗口关闭之后才会执行。因此,在polywindow.close()已经执行或您手动关闭窗口之前,检查时间是否等于2的代码将不会运行。

或者您可以做的是,在Update或Render方法中从Opentk窗口中检查计时器并在那里执行Close()方法。

例如:

    protected override void OnUpdateFrame(FrameEventArgs e)
    {
        base.OnUpdateFrame(e);

        if (Gamesets.Polygon.Playfield.timer == 2)
        {
            Close();
        }
    }