算是基本完成了,先上一个截图
可以说GUI所需要的当前基本都是实现了
再上一个使用例子:
#include <BGE/All>
using namespace bge;
int main(int argc, char* argv[])
{
FileSystem::instance().initial(argv[0]);
FileSystem::instance().setResourcePackage("data.zip");
WindowManager::instance().initialize("simkai.ttf",true);
Device* device = Device::create();
device->initial();
device->createWindow(640,480,bge::String("BGE Window"));
WindowManager::instance().propertyScheme()->load(":skin1.xml");
Window* window = WindowManager::instance().createWindow(":grid-layout-window.xml");
WindowManager::instance().addWindow(window);
while(device->isRunning())
{
device->preRender();
WindowManager::instance().update();
device->swapBuffers();
device->pollEvents();
}
WindowManager::instance().terminate();
device->closeWindow();
device->terminate();
device->deleteLater();
return 0;
}
个人感觉写的还是比较清晰,没什么需要特别说明的
使用的开源库有libpng,glfw,freetype,sigslot,physfs
不过代码有点大,有兴趣的可以留个邮箱