1
我当时正在浏览SDL文档,发现WindowData
(SDL_SetWindowData和SDL_GetWindowData)。 这些功能的用途是什么?它存储void
与名称关联的指针,那么它仅用于存储我的对象,我可以稍后使用它?或者它在SDL
中有重要意义吗?SDL - 窗口数据
我当时正在浏览SDL文档,发现WindowData
(SDL_SetWindowData和SDL_GetWindowData)。 这些功能的用途是什么?它存储void
与名称关联的指针,那么它仅用于存储我的对象,我可以稍后使用它?或者它在SDL
中有重要意义吗?SDL - 窗口数据
这些功能都应该让你存储的指针指向任意的数据(例如,您的选择或对象的内存缓冲区)有一个窗口对象:
MyObject *object_ptr = new MyObject(); // Your custom object
object_ptr->data = 42; // Your custom data
SDL_SetWindowData(window, "mycustomdata", object_ptr);
// Somewhere else in your code in a place where you have access to 'window'
MyObject *object_ptr = SDL_GetWindowData(window, "mycustomdata");
// do whatever you want with object_ptr..
这种行为模仿SetWindowLong(hwnd, GWL_USERDATA, pointer);
调用Win32的API。
很好的例子,真正的文档应该有这样的 – Zammalad 2014-10-28 15:36:02