用python的pygame,但每次程序一运行,pygame window窗口能出现,但是下图这种状态。

作者&投稿:归彪 (若有异议请与网页底部的电邮联系)
python 中pygame 窗口无法关闭?~

sys.exit()

pygame.quit()
这两句顺序是否应该换一下

你只截图出错的地方,但是截图中没有包含你出错的代码
不方便分析错误原因啊

  1. event英文翻译是事件 get 获取  type是样式,类型的意思,所以他这个都是有规律的,但是有顺序事件在前,后面跟属性

  2. 同时也有父子(层级)关系

  3. event.get() 获取到的事件

  4. event.type() 事件类型

  5. event.key() 按键事件

  6. 一般都是写在while里面,因为这是个不断循环的过程,不然,只执行一便达不到实际要求,这是Pygame里面设定好的

这是贪吃蛇游戏的一段代码(一部分):

txt = font.render('GAME OVER', True, (255, 0, 0))
screen.blit(txt, (size[0]/6, size[1]*2/5-20))   # (0, 0)   (size[0]/6, size[1]*2/5)100号字中心位置

direction = 'right'    # 初始方向,向右
changeDirection = direction    # 定义一个改变方向的变量,按键

running = True
while Trunning:   
    for event in pygame.event.get():    # 从队列中获取事件        
        if event.type == QUIT:    # 判断事件类型是否为退出事件
            # pygame.quit()
            sys.exit()    
            
        elif event.type == KEYDOWN:    # 如果按键被按下(事件)
            
            if event.key == K_RIGHT or event.key == K_d: # 如果是右键头或者是d,蛇向右移动
                changeDirection = 'right'            
            if event.key == K_LEFT or event.key == K_a:  # 如果是左键头或者是a,蛇向左移动
                changeDirection = 'left'
            if event.key == K_UP or event.key == K_w:
                changeDirection = 'up'
            if event.key == K_DOWN or event.key == K_s:
                changeDirection = 'down'
            #这下面一行可以忽略,
            if event.key == K_ESCAPE:    # 对应键盘上的Esc键,表示退出
                pygame.event.post(pygame.event.Event(QUIT))
    # 绘制文本,刷新显示
    screen.blit(txt, (20, 10))
    screen.fill(blackColor)  #放在for语句一列,属于while的(子)层级,循环不断的刷新


import pygame,sys
from pygame.locals import *
pygame.init()
WINDOWWIDTH=480
WINDOWHEIGHT=700
caption_name='Hello Woad'
DISPLAYSURF=pygame.display.set_mode((WINDOWWIDTH,WINDOWHEIGHT))
pygame.display.set_caption(caption_name)
while True:
‍    DISPLAYSURF.fill((255,255,255))#初始化屏幕 白色
for event in pygame.event.get():
if event.type == QUIT:#退出检测
pygame.quit()
sys.exit()
pygame.display.update()#更新‍



你的while True: 里面没有写消息处理函数,一般while True:里面的内容大概是这样的:
def run(self):
self.screen.fill((255,255,255))
whileTrue:
# max fps limit
self.clock.tick(30)
for event in pygame.event.get():
if event.type== QUIT:
return
elif event.type== KEYDOWN:
pass
elif event.type== MOUSEBUTTONDOWN:
pass
elif event.type== MOUSEMOTION:
pass
elif event.type== MOUSEBUTTONUP:
pass
pygame.display.update()
对于消息处理,在pass那里,改成自己想要的函数就可以实现对应的功能了。
还有,你可以看看eyehere.net 上面的pygame教程。

while True:
    for event in pygame.event.get():
        if event.type = = pygame.QUIT:
            pygame.quit()
               quit()
           
    # 屏幕填充在while循环下,而不在for循环下
    screen.fill((0, 0, 0))
    
    # 反转屏幕以展示最近一次的绘制,非常重要!
    pygame.display.flip()


你的while True没有处理,也没有main loop
进入了死循环,当然没有响应了


py是什么意思
Py表示Python。Python是一种广泛使用的高级编程语言,具有易于学习和应用的特性。下面是关于Python的详细解释:Python是一种解释型语言。这意味着Python代码在执行之前不需要编译成机器语言,而是由Python解释器逐行解释并执行。这使得Python成为入门和学习编程的热门选择,尤其是对于那些希望快速构建和测试原型的人...

检索式PY是什么意思?
PY是什么意思?在程序员界,PY是Python语言的简称。Python是一种高级编程语言,是互联网公司和数据科学家中最流行的语言之一。这种编程语言被广泛应用于数据科学、人工智能、科学计算和大数据分析等领域。因为Python语言语法简单、易于学习、编写和维护,它也成为初学编程的入门课程。另一种PY的解释是Pinyin...

python文件是以什么为扩展名的文件
pyc:在执行Python代码时经常会看到同目录下自动生成同名的pyc文件。这是Python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。pyo:pyo是跟pyc类似的优化编码后的文件。pyd:pyd并非从Python程序生成,而是其他语言写成...

python怎么运行py文件
要运行Python文件,首先从文件存储位置复制路径,然后通过键盘快捷键Windows + R打开"运行"对话框。在命令行界面中,操作步骤如下:首先,通过cd命令切换到包含Python文件的文件夹,确保当前目录正确。接着,键入"python 文件名.py",这里的"文件名.py"需要替换为你的实际文件名。按下回车键,Python文件...

py是什么
Py是Python编程语言的简称。Python是一种广泛使用的高级编程语言,它的设计初衷是提高代码的可读性和简洁性。下面详细介绍Python的特点和用途。Python的特点:1. 简洁易懂:Python的语法清晰简洁,代码块使用缩进来区分,使得代码的可读性非常高。即使是初学者,也能快速理解并上手。2. 应用领域广泛:Python...

网文作者py是什么意思?
Py是“Python”的缩写,是一种高级编程语言,也被称为“解释型语言”。Py可用于许多不同类型的编程任务,如 Web 开发、科学计算、数据分析、人工智能和机器学习等。Py极其易于学习和使用,语法简洁明了,因此是许多初学者学习编程的首选语言。在网络文学中,Py通常指的是“剧情人设”,也就是小说、漫画...

聘用py是什么意思?
Py即Python的缩写,是一种高级编程语言。在IT行业中,聘用Py通常指招聘懂得Python编程的人才。这些人才需要具备熟练掌握Python语言、理解程序设计思路以及具备解决问题的能力,以便于在项目中能够高效地运用Python语言完成任务。聘用Py对企业来说有着显而易见的优势。Python语言不仅易于学习和使用,而且具有较高...

python怎么运行py文件
Python运行py文件的步骤:1. 打开命令行界面。2. 使用“cd”命令切换到py文件所在的文件夹。例如,如果你的文件在桌面上,可以输入“cd Desktop”。3. 输入“python 文件名.py”来运行Python文件。例如,如果你的文件名是“test.py”,则输入“python...

py 是什么意思
Python的名字来源于英国喜剧团体Monty Python,由Guido van Rossum创建。Python的设计初衷是提供一种直观、高效且易于使用的编程语言。Python的语法简洁清晰,有丰富而强大的库,这些特点使其成为许多初学者和资深开发者喜欢的语言。如今,Python已经成为最受欢迎的编程语言之一。总的来说,Py指的就是Python...

py文件是什么文件?
.py文件是python脚本文件。 Python 是一种面向对象、解释型计算机程序设计语言。常用于各种服务器的维护和自动化运行。它具有丰富和强大的库。

万盛区15631274238: python,外星人入侵游戏,Pycharm,pygame,写完了,但是有bug,希望帮我找一下原因 -
汗怜乐芬: 跟下面热心网友回答的一样 ,出现这种错误的原因是参数的顺序出现了不一致,screen与stats两个参数传递时颠倒了,也即出现stats.get_rect(),故报错函数无该属性.

万盛区15631274238: python pygame游戏可以打包吗 -
汗怜乐芬: 可以的,首先你要弄清楚一个概念,打包不是打包一整个游戏,比如你用pygame写一个游戏用了10个文件,运行的时候也是运行一个文件就可以了,所以只要打包那个运行的文件就可以了,用py2exe和pyinstaller都可以打包.

万盛区15631274238: python中video system not initialized怎么解决 -
汗怜乐芬: 今天在github上找到一个用pygame做的Python游戏,但是clone到本地运行的时候却冒出了“mixer system not initialized”这样的问题.其实这句话说的就是音频混音器(具体指的就是双击右下角小喇叭图标后弹出的音量控制台)没有初始化,由于我的电脑重装过以后没有装声卡驱动,所以才导致了这个问题,安装声卡驱动以后,问题迎刃而解.

万盛区15631274238: 我最近对游戏编程很有意思我想问一下用python与pygame可以做到什么程度,是只能做那种比较低端的游戏么. -
汗怜乐芬: 游戏的高端在于可玩性,如果创意好,哪怕画面再粗糙都算是高端啊~.~ 不过说实话python做游戏实在不怎么样.pygame做2D还可以,做3D,还是不要考虑python了吧.想做游戏,试试C吧、

万盛区15631274238: 求python3.8的pygame文件和安装方法 -
汗怜乐芬: 跳转到Pygame下载页,点击 Download files,根据自己下载的Python的版本选择pygame的版本(我是Python3.7,系统是64位的,所以下载pygame-1.9.4-cp37-cp37m-win_amd64.whl),下载好了后双击文件,并运行它(前提是安装了pip.exe),等窗口关闭了后,pygame就下载完成了!

万盛区15631274238: 我学习python.最近要下个pygame.可是出现如图问题,求解决. -
汗怜乐芬: 这种情况多数是因为 你操作系统是64位的,但是python安装的是32位的,而现在安装的模块又是64位的.解决办法就是,把pygame模块换成 32位的就可以了.

万盛区15631274238: 在windows 下安装python后怎么安装pygame? -
汗怜乐芬: 可以通过pip包管理器来安装Python包,但是pygame包包含C语言代码,需要进行编译.最简单的方式是,在网上下载已经编译好的安装包.具体步骤如下:1. 到http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame下载pygame的安装包,注意选择合适的版本,比如适合Python3.4的版本文件名中包含cp34,适合64位操作系统的版本,文件名中包含amd64; 2. 选择开始>运行,输入cmd打开命令提示符,在命令提示符中输入: pip install 下载pygame安装包的完整路径 3. 打开Python,输入import pygame,如果没有报错则说明安装成功.

万盛区15631274238: python2.7 pygame游戏界面关不了 -
汗怜乐芬: 如果说pygame只关闭窗口不能退出程序,只要在sys.exit()前面加上pygame.quit()就行了!

万盛区15631274238: python pygame 怎么在两点间画一条虚线 -
汗怜乐芬: x=300 for y in range(0,480,20): plotpoints.append([x,y])这样的话,就可以在300,0和300,480之间画虚线了.

万盛区15631274238: python pygame怎么用 -
汗怜乐芬: http://www.cnblogs.com/msxh/p/4966899.html 这个是我的博客,一共9篇,详细的介绍了Pygame游戏开发,希望可以帮到你.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网