pygame surface.blits при использовании аргумента области

Убедитесь, что вы используете Django 2.X, потому что из этой версии Django url был изменен с этой версии, вам нужно импортировать URL-адреса, подобные этому.

from django.urls import path

, но до этого импорт выглядел следующим образом:

from django.conf.urls import url

Таким образом, либо вы, и ваш учебник используете другую версию, либо вы неверны, вы можете вносить изменения как в зависимости от ситуации.

6
задан KbiR 19 January 2019 в 06:22
поделиться

1 ответ

Это ошибка в C-коде. В строке surface.c 2258 для surf_blits имеется следующий тест:

    if (dest->flags & SDL_OPENGL &&
        !(dest->flags & (SDL_OPENGLBLIT & ~SDL_OPENGL))) {
        bliterrornum = BLITS_ERR_NO_OPENGL_SURF;
        goto bliterror;
    }

Тогда как в строке surface.c 2121 для surf_blit код:

#if IS_SDLv1
    if (dest->flags & SDL_OPENGL &&
        !(dest->flags & (SDL_OPENGLBLIT & ~SDL_OPENGL)))
        return RAISE(pgExc_SDLError,
                     "Cannot blit to OPENGL Surfaces (OPENGLBLIT is ok)");
#endif /* IS_SDLv1 */

Обратите внимание на #if IS_SDLv1.

Проблема, кажется, исходит из SDL_OPENGLBLIT, который в настоящее время устарел .

Не используйте устаревший режим SDL_OPENGLBLIT, который разрешал как блиттинг, так и использование OpenGL. Этот флаг устарел, по нескольким причинам. При многочисленных обстоятельствах использование SDL_OPENGLBLIT может повредить ваше состояние OpenGL.

К сожалению, я не эксперт в OpenGL и не могу объяснить дальше. Надеюсь, кто-то может опубликовать более точный ответ.

Что я точно знаю, так это то, что я могу поднять BLITS_ERR_SEQUENCE_SURF непосредственно перед (например, давая pygame.Rect в качестве первого объекта в blit_args), и я не могу поднять BLITS_ERR_INVALID_DESTINATION сразу после. [ 1121]

Это заставляет меня думать, что что-то происходит с линиями выше.

РЕДАКТИРОВАТЬ

Я могу подтвердить, что, если я добавлю #if IS_SDLv1 вокруг теста выше и перекомпилирую Pygame, это сработает. Не знаю почему, хотя! ☺

Я поднял проблему на GitHub .

0
ответ дан Jacques Gaudin 19 January 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: