дескриптор «кодировать» для объектов «str» не применяется к объекту «pygame.Surface» - PullRequest
0 голосов
/ 11 апреля 2020

Я работаю над проектом с использованием pygame, пытаюсь сделать онлайн-игру. В рамках программы я отправляю сообщение на сервер по сетевому классу: n.send("img/cards/card_test")

Здесь я определяю send Метод:

def send(self, data):
    try:
        self.client.send(str.encode(data))
        return pickle.loads(self.client.recv(2048))
    except socket.error as e:
        print(e)

Это приводит к следующей ошибке:

descriptor 'encode' for 'str' objects doesn't apply to 'pygame.Surface' object

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 апреля 2020

str.encode - это метод кодирования str в bytes в соответствии с кодировкой (utf8 по умолчанию). data не может быть str.encode d, если она не является самой строкой.

Похоже, вы пытаетесь send pygame.Surface объект здесь, проверьте свой код на наличие мест, где вы вызываете это send функция и убедитесь, что параметр всегда является строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...