设为首页 加入收藏

TOP

深入理解Python多媒体库Pygame(二)
2023-07-26 08:18:20 】 浏览:128
Tags:Python Pygame
及其ASCII码。 例如,k的ASCII码为107。颜色表示为元组。 黑色表示为(0,0,0)。


现在,事件循环变得非常简单。 首先,我们检查事件类型是否为KEYDOWN事件。 如果是,我们检查事件密钥是否在字典中。 如果是,我们将查找与该键关联的颜色,并为其设置背景色:


if event.type == KEYDOWN:
    if event.key in key_dict:
        background = key_dict[event.key]


尝试按8个指定的键更改背景色。


深入理解Python多媒体库Pygame


更改窗口标题


pygame.display.set_caption(title)功能允许更改应用程序窗口的标题(标题)。 我们可以将其添加到事件循环中:


if event.key in key_dict:
    background = key_dict[event.key]


    caption = 'background color = ' + str(background)
    pygame.display.set_caption(caption)


这将在窗口标题中显示当前背景色的RGB值。


深入理解Python多媒体库Pygame


探索简单的球类游戏


为了演示Pygame可以做什么,这里有一个简单的程序,演示了弹跳球的动画。 该程序使用Rect类表示矩形区域。 根据球图像创建一个实例:


rect = ball.get_rect()


Rect对象具有4个属性:


rect.left
rect.top
rect.right
rect.bottom


可以使用move()法移动Rect对象:


rect = rect.move(speed)


导入pygame模块后,我们定义一些变量,例如屏幕尺寸和两种颜色:


import pygame
from pygame.locals import *


size = 640, 320
width, height = size
GREEN = (150, 255, 150)
RED = (255, 0, 0)


然后我们初始化pygame并创建screen变量:


pygame.init()
screen = pygame.display.set_mode(size)
running = True


球的位置用Rect对象表示:


ball = pygame.image.load("ball.gif")
rect = ball.get_rect()
speed = [2, 2]


在事件循环内,我们仅检查QUIT事件:


while running:
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False


然后,我们移动矩形并检查左/右和上/下边框:


rect = rect.move(speed)
if rect.left < 0 or rect.right > width:
    speed[0] = -speed[0]
if rect.top < 0 or rect.bottom > height:
    speed[1] = -speed[1]


最后,我们绘制一个绿色背景,一个红色矩形和球图像:


screen.fill(GREEN)
pygame.draw.rect(screen, RED, rect, 1)
screen.blit(ball, rect)
pygame.display.update()


pygame.quit()


这是球和Rect轮廓的外观:


深入理解Python多媒体库Pygame


好了,本文就这样,你现在可以尝试了解该程序的作用。 然后尝试修改其参数。



首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python中使用skimage模块给灰度图.. 下一篇跟我学Java系列 - 安装IDE及创建..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目