我正在使用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)
这会产生以下错误:
“str”对象的
描述符'encode‘不适用于'pygame.Surface’对象
请协助。
发布于 2020-04-11 04:36:30
str.encode
是一种根据编码(默认情况下为utf8
)将str
编码为bytes
的方法。如果data
本身不是字符串,则它不能是str.encode
d。
看起来您正在尝试在这里send
一个pygame.Surface
对象,检查代码中调用send
函数的位置,并确保参数始终是一个字符串。
https://stackoverflow.com/questions/61156744
复制相似问题