gpt4 book ai didi

Python Pygame 使用共享调用时传递参数

转载 作者:行者123 更新时间:2023-12-01 06:37:47 25 4
gpt4 key购买 nike

我第一次使用分享通话,搜索结果没有人接听我想通过共享将参数传递到调用中

这是我的代码:

#!/usr/bin/python
import sys,os
import pygame


class Setting():
'''how to deliver self.w and self.h into pic'''

pic = pygame.transform.smoothscale(pygame.image.load("pic.png"),(self.w,self.h)) #how to deliver self.w and self.h in here?

def __init__(self,width,height):
self.w=width
self.h=height
self.flag=pygame.RESIZABLE
self.screen=pygame.display.set_mode((self.w,self.h),self.flag)
self.screen_rect=self.screen.get_rect()
self.bkg=Setting.pic.convert()
pygame.display.set_caption("Muhaha")

def game():
pygame.init()
setting=Setting(1200,800)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
setting.screen.blit(setting.bkg,(0,0))
pygame.display.flip()
game()

最佳答案

类级变量在创建class时评估,即在game()函数启动之前。

您应该将 pic 设为常规实例成员(即使用 self.pic),或者应将其预初始化为 None 并仅在第一次调用构造函数时真正延迟初始化

class Setting:
pic = None

def __init__(self, width, height):
if Setting.pic is None:
# This code will execute only once
Setting.pic = ...
...

关于Python Pygame 使用共享调用时传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59590988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com