0

我正在将我的游戏移植到 emscripten。在 SDL_ttf 之前一切都很好。实际上我正在使用 sdl2 + sdl2 图像 + sdl 混合器。

我将展示一个例子:

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 我仍然会收到此错误。这已经让我发疯了._。

4

0 回答 0