我正在开发一个界面,但我是openframeworks的新手,我需要一个类似于处理controlP5的cp5.getPointer().set(mouseX, mouseY);
的库函数,以便设置相对于图形界面的鼠标位置。有没有人知道直接在openframes或具有相同功能的任何插件上执行此操作的方法?
我已经解决了一些关于鼠标位置设置的问题,比如这个:http://forum.openframeworks.cc/t/how-to-set-mouse-position/1438但它不是我想要的,因为我不想改变鼠标相对于openframeworks的位置,我只想修改与库相关的信息,这样我就可以控制它的按钮和gui元素了。
提前致谢。
答案 0 :(得分:0)
由于没有提到特定的GUI插件(如ofxUI),我假设您正在使用名为ofxGui的标准GUI插件,该插件随预装的OpenFrameworks一起提供。
不幸的是,openFrameworks鼠标坐标对于GUI和绘图空间都是相同的。因此,当鼠标指针位于GUI元素的顶部时,没有修改鼠标坐标的功能,这是我认为您正在尝试做的事情。至少对我而言,似乎并非如此,可以轻松检测鼠标点是否在GUI元素内。当然,你可以做的是:
void ofApp:mouseMoved(int x, int y){
ofRectangle shape = testGUI.getShape();
if(shape.inside(x,y))
//modify x,y to suit your needs, do other stuff, etc...
}
方法.getShape()从xBaseGui一直继承,因此它可以应用于任何ofxGui元素。
另外,请务必检查ofxUI。在我看来,它是一个用于openFrameworks的更强大的GUI库。
希望这会有所帮助。