-1

だから私は本「C#ゲームプログラミング - 本格的なゲーム作成のため」に従っています.TaoでOpenGL形式を作成し、色を黒から赤に変更する本の一部です. ここに本とまったく同じ私のコードがあります

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tao.OpenGl;

namespace GameLoop
{
    public partial class Form1 : Form
    {
        FastLoop _fastLoop;
        bool _fullscreen = false;
        public Form1()
        {
            _fastLoop = new FastLoop(GameLoop);
            InitializeComponent();
            _openGLControl.InitializeContexts();
            if (_fullscreen)
            {
                FormBorderStyle = FormBorderStyle.None;
                WindowState = FormWindowState.Maximized;
            }
        }
        void GameLoop(double elapsedTime)
        {
            Gl.glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
            Gl.glFinish();
            _openGLControl.Refresh();
        }
    }
}

エラーはまったく発生していません。単に黒のままです。これが発生する理由として考えられる理由は何ですか?

他のゲームループのコード

static void GameLoop(double elapsedTime)
{
    // GameCode goes here
    // GetInput
    // Process
    // Render
    System.Console.WriteLine("Loop");
}
4

1 に答える 1

0

Ali Kazmi と Matthew のおかげで、私はそれを理解しました。コードを public Form1() に入れることで機能し、メソッドが更新されていないと結論付けることができました.C#に非常に慣れていないのは、他のゲームループがそこまで到達しなかったためだと思います. 私はそれを削除しましたが、すべて正常に動作します。

于 2013-11-11T18:51:06.033 に答える