找回密码
 立即注册
查看: 275|回复: 0

Python 游戏开发系列_1 开篇

[复制链接]
发表于 2023-3-23 10:32 | 显示全部楼层 |阅读模式
这篇主要是介绍基于Pygame的游戏开发,对游戏开发感兴趣的编程初学者能通过游戏开发很好地提高python 编码能力。
什么是Pygame

Pygame 是一个专门用来开发游戏的 Python 模块,包括一系列的工具可以帮助开发者去做出一款游戏,主要工具有:

  • 图形和动画处理
  • 声音或音乐处理
  • 游戏控制(包括键盘,鼠标,手柄等操作)

游戏循环

游戏的核心是循环,通过循环处理操作所有的游戏事件,游戏每次的循环我们可以叫做帧,帧也即游戏刷新的频率。在每一帧里的时间里可以有很多游戏事件发生,这些事件可以归类为:

  • 处理输入(事件)
    游戏响应处理外部的输入,例如键盘敲击或鼠标点击等。
  • 更新游戏
    根据游戏响应去处理游戏各种更新,例如角色的移动或碰撞等。
  • 渲染(或者重绘)
    游戏画面需要正确重新画出来,例如屏幕背景,角色,菜单等,
  • 时钟
    游戏循环的一个重要方面就是控制游戏以多快的速度循环,我们一般用FPS(帧每秒) 来表示这个速度,通过这个速度来控制游戏循环快慢。

新建Pygame 模版

现在我们知道游戏有哪些要素了,我们可以先开始编写一个最简单的游戏窗口和游戏循环。
# Pygame template - pygame 项目框架
# 1,先倒入pygame 模块,定义一些常量
import pygame
import random

WIDTH = 360  # 游戏窗口宽度
HEIGHT = 480 # 游戏窗口高度
FPS = 30     # 设置游戏30帧/秒

# 定义颜色常量
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)


# 2,初始化pygame,创建游戏窗口
pygame.init()
pygame.mixer.init()  # 初始化声音处理
screen = pygame.display.set_mode((WIDTH, HEIGHT))  # 设置游戏窗口
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()  #

# 3,处理游戏循环
running = True

while running:
    # 设置正常的循环速度
    clock.tick(FPS)
   
    # 1)判断处理输入事件 (events)
    for event in pygame.event.get():
        # 检查是否点击了关闭窗口(触发关闭事件)
        if event.type == pygame.QUIT:
            running = False

    # 2)更新游戏

   
    # 3)渲染画面,显示画面
    screen.fill(BLACK)  # 用黑色填充画面
    pygame.display.flip()

pygame.quit()

程序执行后,显示一个我们设置的黑窗口,点击关闭窗口则退出游戏。保存这个代码模版,后面丰富我们的游戏可以重用这个模版。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 19:01 , Processed in 0.089353 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表