我正在尝试在OpenTK中为按钮创建一个类。
有一个很好的方法来制作按钮吗?
如果在悬停在其上方时可以显示说明,则会更感激。
答案 0 :(得分:0)
您有两种选择。
使用GLControl
在Windows窗体中嵌入OpenTK上下文。这里的缺点是OpenTK窗口中没有按钮,但根据你的目标,这可能不是问题。
自行渲染一个按钮,测试该区域内的鼠标按压。
选项2将更多的工作,但显然更多才多艺,如果你刚开始,你将学到很多东西。
获取光标位置...
int mouseX = System.Windows.Forms.Cursor.Position.X;
int mouseY = System.Windows.Forms.Cursor.Position.Y;
检查鼠标按下...
MouseState mouseState = OpenTK.Input.Mouse.GetState();
bool leftMouseDown = mouseState.IsButtonDown(MouseButton.Left);
bool rightMouseDown = mouseState.IsButtonDown(MouseButton.Right);
以每像素坐标绘制四边形......
float x1 = (float)x * 2 / screenWidth - 1;
float x2 = (float)(x + buttonWidth) * 2 / screenWidth - 1;
float y1 = (float)y * 2 / screenHeight - 1;
float y2 = (float)(y + buttonHeight) * 2 / screenHeight - 1;
其余的由你我的朋友决定。