标签: sdl
我正在寻找一种有效且高效的方法来检测SDL表面上的“悬停”事件。是否有任何在SDL上检测按钮事件的示例?
答案 0 :(得分:1)
这取决于按钮的形状。
这是最简单的方法。如果您的按钮是矩形,并且屏幕上的按钮少于几百,您可以使用简单的矩形碰撞功能。每个按钮的位置,检查点是否位于屏幕上的矩形中。
在这种方法中,您需要创建一个新表面,其他按钮将以不同颜色绘制。然后你可以检查鼠标下的像素是否属于一个按钮,并借助字典找到它实际上是哪一个。这种方法有点复杂,但您可以使用任何大小和形状的按钮。