资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

怎么用pygame创建窗口-创新互联

这篇文章主要介绍了怎么用pygame创建窗口,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

创新互联建站,专注为中小企业提供官网建设、营销型网站制作、成都响应式网站建设公司、展示型成都网站设计、网站建设等服务,帮助中小企业通过网站体现价值、有效益。帮助企业快速建站、解决网站建设与网站营销推广问题。

首先我们需要导入模块:

import pygame, sys

然后需要初始化pygame,我定义了一个pygame_test()方法,所以如果需要执行程序的话,要调用这个方法哟:

import pygame, sys
def pygame_test():
 # 初始化
 pygame.init()

初始化之后就可以开始创建窗口了,我创建了一个500x500的窗口,这时执行程序我们就能看到创建被创建好了,但是窗口出现后马上就会退出:

import pygame, sys
 
def pygame_test():
 # 初始化
 pygame.init()
 
 # 创建一个窗口
 screen = pygame.display.set_mode((500, 500))
 
 # 设置窗口标题
 pygame.display.set_caption('这是一个窗口标题')
pygame_test()

所以我们可以给它加上一个while循环,将值设为True(也就是一个死循环)。可以通过不断循环来侦听事件,如果想要退出程序可以使用sys.exit()。

import pygame, sys
 
def pygame_test():
 # 初始化
 pygame.init()
 
 # 创建一个窗口
 screen = pygame.display.set_mode((500, 500))
 
 # 设置窗口标题
 pygame.display.set_caption('这是一个窗口标题')
 
 # 通过不断循环来侦听事件
 while True:
 # get():获取事件的返回值
 for event in pygame.event.get():
 # 判断事件是否是退出事件,是则退出
 if event.type == pygame.QUIT:
 # 先退出pygame窗口,再退出程序
 pygame.quit()
 sys.exit()
pygame_test()

这样的话执行代码时,就会弹出一个可以正常运行并关闭的窗口了。如果我们想要给窗口添加背景颜色需要用到fill()方法。比如说我们给窗口添加一个蓝色的背景颜色,然后再添加一个鼠标单击事件,当单击鼠标时,背景颜色会变为粉色。

import pygame, sys
 
def pygame_test():
 # 初始化
 pygame.init()
 
 # 创建一个窗口
 screen = pygame.display.set_mode((500, 500))
 
 # 设置窗口标题
 pygame.display.set_caption('这是一个窗口标题')
 
 # 通过不断循环来侦听事件
 while True:
 # 给屏幕填充淡蓝色
 screen.fill((135, 206, 250))
 
 # get():获取事件的返回值
 for event in pygame.event.get():
 # 判断事件是否是退出事件,是则退出
 if event.type == pygame.QUIT:
 # 先退出pygame窗口,再退出程序
 pygame.quit()
 sys.exit()
 # 单击鼠标窗口颜色变为粉红色
 if event.type == pygame.MOUSEBUTTONDOWN:
 screen.fill((255, 192, 203))
 # 更新整个待显示的 Surface 对象到屏幕上
 pygame.display.flip()
pygame_test()

感谢你能够认真阅读完这篇文章,希望小编分享怎么用pygame创建窗口内容对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,遇到问题就找创新互联网站建设公司,,详细的解决方法等着你来学习!


标题名称:怎么用pygame创建窗口-创新互联
分享链接:http://cdkjz.cn/article/ehphi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220