所以在Pygame中有一个向用户显示消息的功能:
def message_to_user(msg, color, X_displacement, Y_displacement):
# creating function to display messages to the user
message=font.render(msg,True,color)
msgcenter=200+X_displacement,200+Y_displacement
Game_display.blit(message,msgcenter)
现在有一条消息我需要显示另一个显示的变量:
message_to_user("You managed to complete",levelcounter,"levels",green,0,40)
这是错误:
TypeError: message_to_user() takes exactly 4 arguments (6 given)
我理解为什么我会收到这个错误,只是无法解决这个问题
答案 0 :(得分:1)
您需要在将字符串传递给函数
之前构建它mess = "You managed to complete {} levels".format(levelcounter)
message_to_user(mess, green, 0, 40)
答案 1 :(得分:1)
我认为这...... message_to_user(“你设法完成”,水平计数器,“级别”,绿色,0,40)
应该成为......
message_to_user(“你设法完成了”+ str(levelcounter)+“levels”,绿色,0,40)
答案 2 :(得分:0)
您可以将字符串与变量连接起来,使您的消息成为参数
message_to_user("You managed to complete " + levelcounter + " levels",green,0,40)
这将修复函数调用以使参数与变量匹配
答案 3 :(得分:0)
我只需将&mut
作为参数,然后在定义中创建levelcounter
。
msg