Pygame
>>> from pygame import *pygame 2.3.0 (SDL 2.24.2, Python 3.9.9)
Hello from the pygame community. (提示不能发表链接,本来这里是pygame的官方文档链接)
>>> screen = display.set_mode((640, 480))
>>> font = pygame.font.SysFont('arial', 10)
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
font = pygame.font.SysFont('arial', 10)
NameError: name 'pygame' is not defined
>>> font = font.SysFont('arial', 10)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
font = font.SysFont('arial', 10)
File "D:\Python\lib\site-packages\pygame\sysfont.py", line 459, in SysFont
return constructor(fontname, size, set_bold, set_italic)
File "D:\Python\lib\site-packages\pygame\sysfont.py", line 377, in font_constructor
font = Font(fontpath, size)
pygame.error: font not initialized 缺少了pygame.init() 这段代码中出现了两个错误。第一个错误是在导入pygame时出现了问题,因此无法使用pygame模块中的函数和方法。您需要确保已正确安装pygame并正确导入它。第二个错误是“pygame.error: font not initialized”,这是因为在使用pygame的字体之前需要初始化pygame的字体模块。
以下是正确的代码:
import pygame
pygame.init() # 初始化pygame
screen = pygame.display.set_mode((640, 480))
font = pygame.font.SysFont('arial', 10)
在这个例子中,我们首先导入了pygame模块并使用 pygame.init() 初始化了pygame。然后我们创建了一个640x480的窗口,最后创建了一个arial字体大小为10的字体对象。 isdkz 发表于 2023-5-13 14:39
这段代码中出现了两个错误。第一个错误是在导入pygame时出现了问题,因此无法使用pygame模块中的函数和方法 ...
耶!比你快3秒 歌者文明清理员 发表于 2023-5-13 14:39
缺少了pygame.init()
您好,请问为什么?
>>> from pygame import *
pygame 2.3.0 (SDL 2.24.2, Python 3.9.9)
Hello from the pygame community. xxxxxxxxxxxxxxxx
>>> pygame.init()
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
pygame.init()
NameError: name 'pygame' is not defined 21kwimpizswmp 发表于 2023-5-13 14:41
您好,请问为什么?
你是from pygame import *的话就应该init(),一般情况下pygame用的都是import pygame,因为事件循环里的event与pygame.event名字重复
这只是一个惯例,代表大家都喜欢这么写,也不是强制 歌者文明清理员 发表于 2023-5-13 14:43
你是from pygame import *的话就应该init(),一般情况下pygame用的都是import pygame,因为事件循环里的e ...
谢谢!那请问一个完整的pygame程序怎么写?
看到网上有一些代码没用pyagme.init()
还有就是screen=display.set_mode()为什么不报错? 21kwimpizswmp 发表于 2023-5-13 14:44
谢谢!那请问一个完整的pygame程序怎么写?
看到网上有一些代码没用pyagme.init()
还有就是screen=disp ...
有些东西是一定得init才能用的,有些不是
网上的代码没init是他的代码不规范 你好!感谢你的提问。
以下是一个示例的完整Pygame程序,它打开一个窗口并展示一张图片:
import pygame
# 初始化 Pygame 库
pygame.init()
# 创建一个窗口大小为480x320像素的屏幕
screen = pygame.display.set_mode((480, 320))
# 载入图片
image = pygame.image.load("image.png")
# 将图片绘制到屏幕上
screen.blit(image, (0, 0))
# 刷新屏幕,更新显示内容
pygame.display.update()
# 等待用户关闭窗口
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
break
在这个程序中,我们首先使用 `pygame.init()` 函数初始化 Pygame 库。然后,我们创建了一个屏幕对象,这个屏幕对象可以理解为一个窗口,我们使用 `pygame.display.set_mode()` 函数来创建这个窗口,并指定了窗口大小(在本例中是480x320像素)。接下来,我们载入一张名字为"image.png"的图片,使用 `pygame.image.load()` 函数。最后,我们将这个图片绘制到屏幕上,调用`screen.blit()`函数,接受两个参数,第一个是要绘制的表面(即我们加载的图像),第二个是目标位置的坐标。我们使用`(0, 0)`表示这个图片放在窗口的左上角,接着,我们使用 `pygame.display.update()` 函数刷新屏幕来更新显示内容。最后,我们使用一个while循环等待用户关闭窗口 ,如果发现了以 `QUIT` 为type的事件,就调用 `pygame.quit()` 来退出 isdkz 发表于 2023-5-13 14:39
这段代码中出现了两个错误。第一个错误是在导入pygame时出现了问题,因此无法使用pygame模块中的函数和方法 ...
抱歉刚才没看见您的回答。请问有没有一个完整的pygame例子,就是将屏幕窗口变成白色(刚才我的代码运行起来是黑色),然后监听关闭窗口事件(网上代码都是sys.exit(),,,,请问有没有其他的写法?pygame官网的写法呢 sfqxx 发表于 2023-5-13 14:46
你好!感谢你的提问。
以下是一个示例的完整Pygame程序,它打开一个窗口并展示一张图片:
Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.12.0 -- An enhanced Interactive Python. Type '?' for help.
In :
...: import pygame
...:
...: # 初始化 Pygame 库
...: pygame.init()
...:
...: # 创建一个窗口大小为480x320像素的屏幕
...: screen = pygame.display.set_mode((480, 320))
...:
...: # 载入图片
...: image = pygame.image.load("image.png")
...:
...: # 将图片绘制到屏幕上
...: screen.blit(image, (0, 0))
...:
...: # 刷新屏幕,更新显示内容
...: pygame.display.update()
...:
...: # 等待用户关闭窗口
...: while True:
...: for event in pygame.event.get():
...: if event.type == pygame.QUIT:
...: pygame.quit()
...: break
...:
pygame 2.3.0 (SDL 2.24.2, Python 3.9.9)
Hello from the pygame community. sssssssssssssssssssss
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
Cell In, line 10
7 screen = pygame.display.set_mode((480, 320))
9 # 载入图片
---> 10 image = pygame.image.load("image.png")
12 # 将图片绘制到屏幕上
13 screen.blit(image, (0, 0))
FileNotFoundError: No file 'image.png' found in working directory 'C:\Users\bruce'. 21kwimpizswmp 发表于 2023-5-13 14:47
抱歉刚才没看见您的回答。请问有没有一个完整的pygame例子,就是将屏幕窗口变成白色(刚才我的代码运行起 ...
以下是一个完整的pyame例子,将屏幕窗口变成白色,并监听关闭窗口事件。代码中使用 `pygame.display.set_caption()` 方法来命名窗口标题,使用 `pygame.display.flip()` 来更新显示的内容。
import pygame
pygame.init()
# 创建屏幕窗口并设置标题
screen = pygame.display.set_mode((500, 500))
pygame.display.set_caption("白色窗口")
# 将屏幕填充为白色
screen.fill((255, 255, 255))
# 更新窗口显示的内容
pygame.display.flip()
# 循环监听事件
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 监听到窗口关闭事件后退出循环
running = False
# 退出pygame
pygame.quit()
在监听关闭窗口事件时,可以使用 `pygame.QUIT` 事件类型。当用户尝试关闭窗口时,系统会创建这个事件。因此,只要监听到这个事件就可以退出游戏、释放资源。
值得一提的是,当调用 `pygame.quit()` 时,pygame会释放占用的系统资源。必须在结束游戏前,调用这个函数释放相关资源。 sfqxx 发表于 2023-5-13 14:46
你好!感谢你的提问。
以下是一个示例的完整Pygame程序,它打开一个窗口并展示一张图片:
看代码信息是没有image.png,加上后,窗口可以关闭,但是循环似乎无法退出 sfqxx 发表于 2023-5-13 14:49
以下是一个完整的pyame例子,将屏幕窗口变成白色,并监听关闭窗口事件。代码中使用 `pygame.display.set_ ...
《我慢了一步的后果》 21kwimpizswmp 发表于 2023-5-13 14:49
不要用交互模式运行这段代码,要用脚本式
File->New File
至于图片报错,是因为您的电脑没有该图片 sfqxx 发表于 2023-5-13 14:50
不要用交互模式运行这段代码,要用脚本式
File->New File
我用的脚本式也一样
翻了翻求助平台,发现很多人都是多行一起在idle shell里的
我在ipython(pip install)里很正常 21kwimpizswmp 发表于 2023-5-13 14:50
看代码信息是没有image.png,加上后,窗口可以关闭,但是循环似乎无法退出
看看这段代码
import pygame
pygame.init()
# 创建屏幕窗口并设置标题
screen = pygame.display.set_mode((500, 500))
pygame.display.set_caption("白色窗口")
# 将屏幕填充为白色
screen.fill((255, 255, 255))
# 更新窗口显示的内容
pygame.display.flip()
# 循环监听事件
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 监听到窗口关闭事件后退出循环
running = False
# 退出pygame
pygame.quit()
21kwimpizswmp 发表于 2023-5-13 14:51
我用的脚本式也一样
翻了翻求助平台,发现很多人都是多行一起在idle shell里的
我在ipython(pip insta ...
截个图? sfqxx 发表于 2023-5-13 14:52
截个图?
截好了,哪里发图片? sfqxx 发表于 2023-5-13 14:50
不要用交互模式运行这段代码,要用脚本式
File->New File
那你哪来的image.png