小编Wil*_*ond的帖子

在Emscripten中使用SDL2 RenderDraw函数

我一直在努力移植一个简单​​的C程序,使用emscripten将SDL2用于图形处理.我扫描了示例程序,但无法找到使用SDL_RenderDrawPoint,SDL_RenderDrawLine或SDL_RenderDrawRect绘制到屏幕的程序.这些函数适用于我的程序的windows/ubuntu版本,但不适用于emscripten版本.我只是看到屏幕涂有清晰的颜色,但没有任何吸引力.

这是展示问题的示例代码.

#include <stdio.h>
#include <SDL2/SDL.h>
#include <assert.h>
#ifdef __EMSCRIPTEN__
#include <emscripten.h>
#endif

int main(int argc, char* argv[])
{
    // setup
    SDL_Window * window;
    SDL_Renderer * renderer;
    assert(SDL_Init(SDL_INIT_VIDEO) == 0);
    SDL_CreateWindowAndRenderer(640, 320, 0, &window, &renderer);

    // clear screen with red color
    SDL_SetRenderDrawColor(renderer, 200, 0, 0, 255);
    SDL_RenderClear(renderer);

    // draw green line across screen
    SDL_SetRenderDrawColor(renderer, 0, 255, 0, 255);
    SDL_RenderDrawLine(renderer, 0, 0, 640, 320);
    SDL_RenderPresent(renderer);

    SDL_Delay(2000);

    // free resources
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我将此代码保存到main.c然后运行:

emcc main.c -s USE_SDL=2 -o …

sdl emscripten

1
推荐指数
1
解决办法
1767
查看次数

标签 统计

emscripten ×1

sdl ×1