Согласно выбору, который делает пользователь, хранятся данные в array, они вместе с join, чтобы это преобразовывать в имя, которое совпадает с именем одного из доступных файлов, и после я хочу, чтобы он появился:
if x > 400 and x < 535 and y > 100 and y < 209:
seleccion[1] = "V"
imgActual = mostrar.join(seleccion)
ventana.blit(imgActual,(100,100))
proble состоит в том, что, когда он делает blit, выходит эта ошибка: "ventana.blit (imgActual, (100,100)) TypeError: argument 1 must be pygame. Surface, not str"
Ошибка показывает, что estÃ: происходя:
ventana.blit (imgActual, (100,100)) ErrorDeTipo: аргумент 1 должно быть
pygame.Surface
, неstr
А именно, blit
нуждается в том, чтобы получить инстанцию pygame.Surface
и его estÃ: s перемещая простую цепь текста, из-за многого, что это был маршрут vÃ: lida в изображение. Если твое изображение ees файл к диску, ты должен загружать ее сначала pygame.image.load
, что произведи одну Surface
, которая, если ты можешь происходить с blit
:
import pygame
if 400 < x < 535 and 100 < y < 209:
seleccion[1] = "V"
nombre_img_actual = mostrar.join(seleccion)
img_actual = pygame.image.load(nombre_img_actual)
ventana.blit(img_actual, (100, 100))
Имей в виду, что читать файл с диска и загружать изображение в памяти имеет важную цену. Если ты будешь показывать изображения, неоднократно deber¦-схвати загружать их в памяти с начала, хранить surfaces в словаре с именем как ключ например (например) и ограничиваться тем, чтобы нарисовать ее, когда в нем будут нуждаться получая Вашу ссылку словаря.