我正在尝试为 OpenTK 中的按钮创建一个类。
有没有很好的方法来制作按钮?
如果它可以在悬停在它上面时显示描述,那将更受欢迎。
你有两个选择。
使用 将 OpenTK 上下文嵌入到 Windows 窗体中GLControl
。这里的缺点是不能在 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;
剩下的取决于你我的朋友。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句