小编use*_*037的帖子

在 Emscripten 中处理 SDL2 大小调整的正确方法

寻找调整来自 Emscripten 的 SDL2 窗口/画布大小的正确方法。目前,我在 JS“resize”事件上添加一个事件侦听器,并将 Canvas 父级的客户端宽度 + 高度发送到 Emscripten,然后更新在每次渲染时调用的宽度和高度变量。

这会产生奇怪的结果 - 比例始终关闭,实际可用的 SDL2 区域没有更改,并且指针事件不再与 SDL 对齐。

我的窗口大小变量是:

int canvasWidth = 800;
int canvasHeight = 600;
Run Code Online (Sandbox Code Playgroud)

这是我的初始化代码:

void Init()
{
    int i;
    for (i = 0; i < 256; i++)
        gPressed[i] = gWasPressed[i] = 0;
    if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE) < 0)
    {
        fprintf(stderr, "Video initialization failed: %s\n", SDL_GetError());
        SDL_Quit();
        exit(0);
    }


    SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
    SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
    SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 5);
    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

    int flags = SDL_WINDOW_OPENGL | …
Run Code Online (Sandbox Code Playgroud)

c++ emscripten sdl-2

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

标签 统计

c++ ×1

emscripten ×1

sdl-2 ×1