所以我正在关注“C# Game Programming - For Serious Game Creation”一书,我参与了这本书的一部分,让您使用 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");
}