如何为openTK gameWindow实现垂直滚动条

How to implement a vertical scroll bar for openTK gameWindow

我正在使用 openTK 和 c# 开发 2d windows 应用程序。 我正在使用游戏window class.

class myWindow : GameWindow
{
}

有什么办法可以实现这个window的垂直滚动条吗? 谢谢

制作您自己的 Scrollbar 小部件。使用 OpenGL 以二维方式绘制它:

DrawVerticalScrollBar(scrollbar_x, scrollbar_y, 
   scrollbar_width, scrollbar_height, 
   vertical_scroll, min_value, max_value); //pseudocode

然后稍后绘制 "scroll-bar" 视图的内容:

GL.Enable(EnableCap.ScissorTest);
GL.Scissor(view_start_x, view_start_y, view_end_x, view_end_y);

// Assume matrix mode is modelview
GL.PushMatrix();
GL.Translate(0, -vertical_scroll, 0);
      // Draw the graphics affected by scrollbar
GL.PopMatrix();

GL.Disable(EnableCap.ScissorTest);

// Draw rest of the 2d graphics

如果您不想裁剪视图的内容,您可以删除 ScissorTestGL.Scissor