我将我的游戏移植到了emscripten。一切都很好,直到SDL_ttf。 其实我正在使用sdl2 + sdl2 image + sdl mixer。
我将展示一个例子:
SDL_Color color = {255,255,255};
std::cout << "1\n";
font = TTF_OpenFont("saucery/font/font1.otf", 8);
if (!font)
printf("Unable to load font: %s \n", TTF_GetError());
std::cout << "2\n";
SDL_Surface *surf = TTF_RenderText_Solid(font,"Oieee",color);
std::cout << "3\n";
if (surf){
std::cout << (int)surf << "\n";
texture = SDL_CreateTextureFromSurface(Game::instance->GetRenderer(),surf);
std::cout << "4\n";
Uint32 format;
int acess,w,h;
SDL_QueryTexture(texture, &format,&acess,&w,&h);
dimensions2.x = 0;
dimensions2.y = 0;
dimensions2.h = h;
dimensions2.w = w;
SDL_FreeSurface(surf);
}
在这段代码中我只打开一个字体(我已经将大小和类型改为.ttf)。一切似乎都运行良好,直到:
SDL_CreateTextureFromSurface
我放了一些std :: cout来查看代码“崩溃”的位置。每当它调用控制台上的createTextureFrom时,向我显示“45”并且运行停在那里。
即使有任何std :: cout我仍然会收到此错误。 这让我疯狂了._。