当先锋百科网

首页 1 2 3 4 5 6 7

之前我们已经基本了解了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的模块方法可以看:https://www.jianshu.com/p/a439afd5140d

转载于:https://my.oschina.net/u/4072026/blog/3101351