算是基本完成了,先上一個(gè)截圖

可以說(shuō)GUI所需要的當(dāng)前基本都是實(shí)現(xiàn)了
再上一個(gè)使用例子:
#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;
}
個(gè)人感覺(jué)寫(xiě)的還是比較清晰,沒(méi)什么需要特別說(shuō)明的
使用的開(kāi)源庫(kù)有l(wèi)ibpng,glfw,freetype,sigslot,physfs
不過(guò)代碼有點(diǎn)大,有興趣的可以留個(gè)郵箱