我目前正在 mingw 下交叉编译一个 Sprite 引擎。因此我有2个问题。
Emscripten 通过 WebGL 层模拟 SDL 的行为。使用 emcc 编译时,我什至不必链接 SDL 库。
问题是:
如果我像这样初始化我的应用程序:
if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) == -1)return -1; SDL_Surface *screen= SDL_SetVideoMode(640, 480, 24, SDL_SWSURFACE); SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 255, 0, 0)); SDL_Flip(screen);
然后我无法将文本放入浏览器的文本字段中,但我得到了 SDL_Events。所有其他浏览器输入(如复选框或选择框)都在工作。
如果像这样初始化我的应用程序(Emscripten 也可以在没有 SDL_Init 的情况下工作!):
SDL_Surface *screen= SDL_SetVideoMode(640, 480, 24, SDL_HWSURFACE); SDL_FillRect(screen, 0, SDL_MapRGB(screen->format, 255, 0, 0)); SDL_Flip(screen);
然后我可以将 tet 放入浏览器文本字段,但我没有收到 SDL_Events。
是否有使浏览器文本输入字段和 SDL_Events 正常工作的解决方法?
问题
在我的WIN32系统上编译的这行代码填满了屏幕蓝色
SDL_FillRect(screen,NULL, SDL_MapRGB(screen->format, 255, 0, 0));
使用 Emscripten 编译的同一行将屏幕填充为红色。
有没有办法在 Emscripten 或 SDL 标头中切换 SDL 颜色?